复制并自定义辅助y轴

时间:2017-05-27 23:11:13

标签: 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())

enter image description here

但我不知道为什么会出现以下错误(没有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轴的刻度标签?

1 个答案:

答案 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")))

enter image description here

注意:请注意“辅助轴的转换必须是公式”。