105. Graphics for communication(

2022-04-08  本文已影响0人  心惊梦醒

Scale

  scales控制数据值到你所能感知到的东西的映射,正常情况下,ggplot2为你自动加上scales,对于大部分的输入数据,默认的scales可以很好地工作,但不可避免地我们会遇到需要调整scales的情况。还有一些来自其他包的非默认scales。
scales调整相关函数的命名方式为scale_美学属性_scale的名字,美学属性包括xycolor等,默认scale的名字跟要对齐的变量类型有关,例如:continuousdiscretedatetimedate等。

坐标轴刻度和图例key

  两个主要的参数控制坐标轴上的刻度(ticks)和图例上的keys:breakslabels。前者控制坐标轴上刻度的位置(连续型变量)或者与keys相关的值(离散型变量)后者控制与ticks或keys相关的text labels。breaks和labels为相等长度的向量,设置labels=NULL可以不显示坐标轴上的刻度标签。
  axes和legends统称为guides。axes用于x和y美学属性,legends用于其他所有
我曾仔细阅读过scale_x/y_continuous的帮助文档,所以看这一章节的时候略显轻松,更甚有一种原来如此的感觉。

图例布局,legend layout

  首先是图例整体的位置,可以通过theme(legend.position=位置)来设置。
  其次是单个图例的展示,可以通过guides()设置。下面的例子实现的功能是图例在一行上:

ggplot(mpg, aes(displ, hwy)) +
  geom_point(aes(colour = class)) +
  geom_smooth(se = FALSE) +
  theme(legend.position = "bottom") +
  guides(colour = guide_legend(nrow = 1, override.aes = list(size = 4)))
#> `geom_smooth()` using method = 'loess' and formula 'y ~ x'

  guides()为每个scale设置guides,每个scale的guides可以通过设置scale函数的guide参数设置,也可以用guides()函数一起设置。guides()的参数是一个name-guide对的列表,其中的guide要么是一个字符串,也就是colorbar或legend;要么是一个guide函数(用来指定其他参数)的调用,也就是guide_colorbar()(连续型颜色条guide)或guide_legend()(图例guide)。guides()函数的返回值是scale和guide之间映射的列表。关于guide_colorbar/legend()函数,他们有很多与设置颜色条和图例相关的参数,现在是没时间看了,但以后有方向了。

替换scale

  最可能想替换的两类scales是continuous position scales and colour scales,其他美学属性原则相通,掌握这两个其他的便很容易上手。
  连续坐标尺度转换代表函数有scale_x/y_log10/reverse/sqrt,这些函数将替换数据值与guide之间的线性变换。
  颜色尺度变换的函数有:
  离散型变量:scale_color_brewer(),scale_color_manual()。default categorical scale选取color wheel周围间隔均匀的颜色,ColorBrewer scales更适合普通色盲人士。
  连续型变量:内置的scale_color_gradient()和scale_fill_gradient(),注意:所有的color scale都有两个变体:color和 fill !,适合diverging scale的scale_color_gradient2(),由viridis包提供的scale_color_viridis(),这是一个categorical ColorBrewer scales的连续模拟,优点是具有良好感知特性的连续型配色方案
  小注:diverging scale适合从负值经中间值到正值的连续型数据;gradient是梯度的意思。以上这些函数需要找时间看看它们的帮助文档并尝试去应用,这里只是指示当你需要时你可以努力的方向。

上一篇 下一篇

猜你喜欢

热点阅读