美文网首页
ggplot2数据分析与图形艺术-重点归纳(第3章)

ggplot2数据分析与图形艺术-重点归纳(第3章)

作者: MJades | 来源:发表于2020-01-28 17:43 被阅读0次

    1. 基本图形类型

    • geom_area;
    • geom_bar(stat="identity")), 条形图,不指定stat,会自动对“值”进行计数;而统计变换可以保持数据不变;
    • geom_line()折线图;
    • geom_point();
    • geom_polygon()多边形;
    • geom_rect(), geom_tile()瓦片图, geom_raster()

    2. 标签

    geom_text() data类型:x, y为数字,另有一行文本。
    geom_text()支持修改所有几何对象的大多数图形属性,geom_label()是geom_text()衍生版本,会在文本外绘制矩形框。

    • family设置字体,俩个包show text, extra font;
    • fontface设置字体风格, bold粗体;
    • hjust, vjust调整文本对齐方式, 取值:"left", "center", "right", "inward", "outward";
    • size字体大小, ggplot2字体单位是mm;
    • angle文本旋转角度;

    3. 注解

    既可添加在前景,也可添加在背景中。

    • geom_text()添加文本说明或者为点添加标签;
    • geom_rect()标注图形中你感兴趣的矩形区域,有xmin, xmax, ymin, ymax四个参数;
    • geom_line(), geom_path(), geom_segment() 均可添加直线,这些都支持arrow参数来绘制箭头;
    • geom_vline(), geom_hline(), geom_abline()在图形添加参照线;

    其他细节问题

    • se=FALSE, 是指不要置信区间
    ggplot(Oxboys, aes(age, height)) + 
    geom_line(aes(group = Subject)) + 
    geom_smooth(method = "lm", size = 2, se = FALSE)
    
    • labs(x= , y= ); ggtitle(" ");
    • annotate函数
      annotate(
      geom = "text", x = xrng[1], y = yrng[2],
      label = caption, hjust = 0, vjust = 1, size = 4
      )
    • 怎么利用多个data画图
    ggplot(economics) + 
    geom_rect(
    aes(xmin = start, xmax = end, fill = party), 
    ymin = -Inf, ymax = Inf, alpha = 0.2, 
    data = presidential
     ) + 
     geom_vline(
     aes(xintercept = as.numeric(start)), 
     data = presidential,
     colour = "grey50", alpha = 0.5
      ) + 
     geom_text(
     aes(x = start, y = 2500, label = name), 
     data = presidential, 
     size = 3, vjust = 0, hjust = 0, nudge_x = 50
     ) + 
    geom_line(aes(date, unemploy)) + 
    scale_fill_manual(values = c("blue", "red")) +
    xlab("date") + 
    ylab("unemployment")
    

    4. group的问题,group的作用:控制哪些观测值用哪种图形元素。

    Note: 图中所有离散型变量的交互作用被设为分组的默认值,如果没有正确分组或者没有离散型变量,就需要自定义分组结构,即将group映射到一个在不同的组有不同取值的变量。

    • 多个分组与单一图形属性 Multiple groups, one aesthetic


      Fig 1. Multiple groups, one aesthetic.png

      如果group由多个变量定义而非单一,使用interaction合并各个分组变量. aes(group=interaction(school_id, student_id))

    • 不同图层上的不同分组 Different groups on different layers,图形中没有离散型变量时,默认分组变量是连续型的。


      Fig 2. 在ggplot(aes(group=))内控制分组,会展现在所有图层中
      Fig 3. 在需要的图层进行分组
    • 修改默认分组 Overriding the default grouping. Some plots have a discrete x scale, but you still want to draw lines connecting across groups.


      Fig 4. 图像中含有x轴上的离散型变量
    • 群组几何对象,如何将个体的图形属性映射给整体的图形属性。
    1. 折线图和路径图遵循差一原则,最后一个观测值的图形属性不会被使用;此外,每个个体的线段类型必须一致,R不支持不能类型的线段相连接的曲线;

    2. 对于其他群组几何对象如多边形图来说,只有当所有个体的图形属性都相同时,该图形属性才会被使用,如fill.

    3. 当图形属性映射到离线型变量时,它会默认地把群组几何对象分解为更小的块,对bar和面积图有效;


      Fig 5. discrete variables
    4. 当图形属性映射到连续型变量时,如将fill映射到连续型变量上,没有效果,灰色;只有在设定分组的情况下,才能达到目的。


      continuous variables

    相关文章

      网友评论

          本文标题:ggplot2数据分析与图形艺术-重点归纳(第3章)

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