这应该很简单,但我遇到了一些错误。我想复制然后自定义辅助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())
但我不知道为什么会出现以下错误(没有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",& #34; b"," c")。
如何修复该错误并自定义辅助y轴的刻度标签?
答案 0 :(得分:3)
使用相同版本的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")))
注意:请注意“辅助轴的转换必须是公式”。