首页 > 解决方案 > 在 ggplot 中使用 sec.axis 函数时出错

问题描述

我正在尝试用 2 个 y 轴绘制图形。我确实按照下面链接中提到的步骤操作,但它不起作用。我也尝试添加inherit.aes=FALSE但没有结果。 使用 sec.axis 时控制 y 轴的最简单方法是什么

ggplot(data=sumdata.mas3, aes(x=test.percent, y=ticks)) + geom_point(color=test.percent,group=test.percent) +
  geom_errorbar(aes(ymin=ticks-sd, ymax=ticks+sd), width=.1) +
  geom_point(data=sumdata.mas4, aes(x=test.percent, y=max.infected))  +
  scale_y_continuous(limits=c(0, 850), sec.axis = sec_axis(~ . * 0.1, name =  "max infected"))

这给出了错误:

图层错误(数据 = 数据,映射 = 映射,stat = stat,geom = GeomPoint,:找不到对象“test.percent”

ggplot(sumdata.mas3, aes(x=test.percent, y=ticks, colour=test.percent, group=test.percent)) + 
  geom_errorbar(aes(ymin=ticks-sd, ymax=ticks+sd), width=.1) +
  labs(x="Test percentage", y="Total Ticks", title = "Test % vs Time") +
  geom_line() +
  geom_point()

以上代码仅适用于 1 个 y 轴,但当我尝试添加第二个时,它会出错。

标签: rggplot2

解决方案


推荐阅读