←
PDF 482 / 520 It's very useful to plot transformations of your variable. For example, as we've seen in "Why Ar
→
English · PDF 482
Original PDF page 482
中文 · PDF 482

对变量做变换后再绘图非常有用。例如,正如我们在第 376 页“为什么低品质的钻石反而更贵?”一节中所看到的,如果对 carat 和 price 进行对数变换,就能更容易看清两者之间的精确关系:

ggplot(diamonds, aes(carat, price)) + geom_bin2d() ggplot(diamonds, aes(log10(carat), log10(price))) + geom_bin2d()

然而,这种变换的缺点是坐标轴现在标注的是变换后的数值,使得图形难以解读。我们可以不在美学映射中做变换,而是通过标度来实现。两者在视觉上完全相同,只是坐标轴仍按原始数据的尺度标注:

ggplot(diamonds, aes(carat, price)) + geom_bin2d() + scale_x_log10() + scale_y_log10()

另一个经常需要自定义的标度是颜色。默认的分类标度会在色轮上均匀地选取颜色。一个实用的替代方案是 ColorBrewer 标度,它经过手工调校,对患有常见类型色盲的人群更加友好。下面两幅图看起来很相似,但红色和绿色的色调差异足够明显,因此即使是红绿色盲的人也能区分右图中的各个点: