jlp*_*jlp 6 r ggplot2 axis-labels
这应该很简单,但我遇到了一些错误。我想复制然后自定义辅助 y 轴的标签。
首先,这个简单的代码应该产生下图:
ggplot(data = mpg, aes(x = displ, y = hwy)) +
geom_point() +
scale_x_continuous(sec.axis = dup_axis()) +
scale_y_continuous(sec.axis = dup_axis())
Run Code Online (Sandbox Code Playgroud)
但我不知道为什么会出现以下错误(它在没有scale_参数的情况下工作并且我有 ggplot2 版本 2.2.1):
Error in .Call(rhs, f) : first argument must be a string (of length 1) or native symbol reference
其次,一旦 y 轴在右侧复制,我想更改刻度标签(20、30、40),例如(“a”、“b”、“c”)。
如何修复该错误并自定义辅助 y 轴的刻度标签?
代码的第一部分对我使用相同版本的 ggplot2(2.2.1) 效果很好。关于你的第二个问题,使用sec_axis()可以完成工作。第一个参数是转换公式trans,因为您希望具有相同的比例但仅更改标签,然后使用~ . * 1例如:
ggplot(data = mpg, aes(x = displ, y = hwy)) +
geom_point() +
scale_x_continuous(sec.axis = dup_axis()) +
scale_y_continuous(sec.axis = sec_axis(~ . * 1, breaks = c(20,30,40), labels = c("a","b","c")))
Run Code Online (Sandbox Code Playgroud)
注意:请注意“次轴的变换必须是公式”。
| 归档时间: |
|
| 查看次数: |
4132 次 |
| 最近记录: |