ggplot2学习笔记8:标度、坐标轴和图例(一)

Scales, Axes and Legends



6.1 介绍(Introduction)

标度Scales控制着从数据到美学(图形属性)的映射。他们将您的数据转换为您可以看到的内容,例如大小,颜色,位置或形状。展现标度的常见做法是绘制图例和坐标轴。

从形式上说,每个标度都是从数据空间中的一个区域(标度的定义域)到美学空间中的一个区域(标度的值域)的函数。轴或图例是反函数:它允许您将视觉属性转换回数据,应该不是很难理解…

定义域(变量)可以是连续型、离散型、有序或者无序型。值域(变量)则包括我们可以感知的图形属性(颜色、形状、大小、线条等等)。

执行标度的过程分为 :

  1. 变换
  2. 训练
  3. 映射

标度可以粗略地分为四个类别:

  1. 位置标度
  2. 颜色标度
  3. 手动离散型标度
  4. 同一型标度

6.2 修改标度(Modifying Scales)

实际上在生成图片的命令都有默认的标度,当你写:

ggplot(mpg, aes(displ, hwy)) + 
  geom_point(aes(colour = class))

实际命令背后的标度是这样的:

ggplot(mpg, aes(displ, hwy)) + 
  geom_point(aes(colour = class)) +
  scale_x_continuous() + 
  scale_y_continuous() + 
  scale_colour_discrete()

一般情况下,ggplot2会默认添加标度,如果我们需要重新定义标度,就需要自己搞

我们来修改一下想x,y轴的名称:

ggplot(mpg, aes(displ, hwy)) + 
  geom_point(aes(colour = class)) + 
  scale_x_continuous("A really awesome x axis label") +
  scale_y_continuous("An amazingly great y axis label")

同一个标度函数设置多次,只会保留最后一次的效果,下面两幅图效果是一样的:

ggplot(mpg, aes(displ, hwy)) + 
  geom_point() + 
  scale_x_continuous("我喜欢绿色") +
  scale_x_continuous("我还是喜欢个其他颜色吧") +te
#> Scale for 'x' is already present. Adding another scale for 'x', which will replace
#> the existing scale.

ggplot(mpg, aes(displ, hwy)) + 
  geom_point() + 
  scale_x_continuous("我还是喜欢个其他颜色吧")

我们再来换换颜色:

ggplot(mpg, aes(displ, hwy)) + 
  geom_point(aes(colour = class)) +
  scale_x_sqrt() + 
  scale_colour_brewer()

从上面几个例子可以看出来,scale的“命名方案”是由三部分组成,并用“_”分隔:

  1. scale
  2. 美学名称(例如colourshapex);
  3. scale的名称(例如continuousdiscretebrewer)。

按图形属性和变量类型排列的各种标度如下表所示,默认标度以粗体显示:

图形属性(美学) 离散型 连续型
颜色(colour)和填充色(fill) brewer
grey
hue
identity
manual
gradient
gradient2
gradientn
位置(position)(x,y) discrete continuous
date
datetime
log10
sqrt
reverse
形状(shape) shape
identity
manual
线条类型(line type) linetype
identity
manual
大小(size) identity
manual
size

6.3 引导元素:图例和坐标轴(Guides: Legends and Axes)

引导元素:生成一个允许读图者从图形属性空间到数据空间进行反向映射的引导元素,从而从图中读取数值。简而言之就是介绍可视化之后的数据是什么。

  • 对于位置型图形,引导元素是坐标轴(Axis)
  • 对于其他图形,引导元素主要是图例(Legend)

下面来看看图例和坐标轴的组成:

6.3.1 标度名称(Scale title)

标度函数的第一个参数name是轴/图例标题。

可以使用"文本字符串"\n用于换行符)

df <- data.frame(x = 1:2, y = 1, z = "a")
p <- ggplot(df, aes(x, y)) + geom_point()
p + scale_x_continuous("X axis")

也引用数学表达式quote()?plotmath打开数学表达式帮助文件):

p + scale_x_continuous(quote
  • 2
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值