美文网首页ggplot2
ggplot2学习笔记(一)

ggplot2学习笔记(一)

作者: harvel | 来源:发表于2018-01-23 22:28 被阅读0次

    ggplot2学习笔记(一)

    该部分笔记整理于这里

    1、平滑时的分组问题###

    对比如下量代码与绘图结果

     ggplot(diamonds) + geom_point(aes(x=carat, y=price,color=cut)) + geom_smooth(aes(x=carat, y=price, color=cut))
    
    平滑分组
    ggplot(diamonds) + geom_point(aes(x=carat, y=price, color=cut)) + geom_smooth(aes(x=carat, y=price))
    
    平滑不分组
    其区别在于前者在指定geom_smooth中的aes加入了语句color=cut。即在未指定分组要素时,默认按整体数据做平滑。

    QUESTION:

    • 平滑方法的选择原则

    2、图表标题及X、Y轴标题的设定及参数修改###

    想要改变图表标题及X、Y轴标题如下:

    ggplot(diamonds, aes(x=carat, y=price, color=cut)) + geom_point() + labs(title="Scatterplot", x="Carat", y="Price")
    

    想要改变标题的样式如下:

    gg1 <- gg + theme(plot.title=element_text(size=30, face="bold"), 
                      axis.text.x=element_text(size=15), 
                      axis.text.y=element_text(size=15),
                      axis.title.x=element_text(size=25),
                      axis.title.y=element_text(size=25)) + 
      scale_color_discrete(name="Cut of diamonds") 
    

    可改变的参数有sizefacecolourangle
    QUESTION:

    • 标题在图标中的位置是否可修改
    • 坐标轴标题是否可以取消

    3、为图例添加标题###

    对于前述两图表来说,由于图例展示划分是基于颜色colour的,故用scale_color_discrete(name="legend title")
    若图例基于形状,则要用

    scale_shape_discrete(name="legend title")
    #or
    scale_shape_continuous(name="legend title")
    

    类似的,若图例基于填充fill,则为

    scale_fill_continuous(name="legend title")
    

    可通过设置theme(legend.position="XXX")来调整图例的位置

    4、分面###

    分面的函数:facet_wrapfacet_grid。用法示例如下:

    gg1 + facet_wrap(color ~ cut)
    
    row: color, column: cut
    gg1 + facet_grid(color ~ cut)
    
    In a grid
    facet_grid(formula)中,若formula.~variable,则按水平方向并列排布;若为variable.~,则按竖直方向堆叠。

    对于facet_wrap()facet_grid()两者的区别,我的理解是

    • facet_grid()即使在某张分面中没有数据时也会显示为一个块,而facet_wrap()则会忽略这一分面
    • facet_grid()的显示更为规则,便于直观比较

    对分面的标题样式可进行修改,参见这里

    相关文章

      网友评论

        本文标题:ggplot2学习笔记(一)

        本文链接:https://www.haomeiwen.com/subject/woieaxtx.html