R 使用条线和两个y轴进行绘图

R 使用条线和两个y轴进行绘图,r,ggplot2,axes,R,Ggplot2,Axes,我需要绘制一个显示计数的条形图和一个显示平均数的折线图。这是一个具有多个y轴的多功能图表 以下是数据帧的一个示例: df <- data.frame("YearMonth" = c(20141, 20142, 20143, 20144), "Count" = c(435, 355, 360, 318), "Average" = c(107, 85, 86, 74)) df因为人们普遍认为它们是一个坏主意,因为它们会引起对数据的误解。例如,见: 我们相信,具有两个不同y轴的图表使大多数人很

我需要绘制一个显示计数的条形图和一个显示平均数的折线图。这是一个具有多个y轴的多功能图表

以下是数据帧的一个示例:

df <- data.frame("YearMonth" = c(20141, 20142, 20143, 20144), "Count" = c(435, 355, 360, 318), "Average" = c(107, 85, 86, 74))
df因为人们普遍认为它们是一个坏主意,因为它们会引起对数据的误解。例如,见:

我们相信,具有两个不同y轴的图表使大多数人很难直观地对两个数据系列做出正确的陈述。我们强烈推荐两种选择:使用两个图表而不是一个,以及使用索引图表

{ggplot2}支持的唯一一种次y轴是主轴的缩放,请参见。这样的次轴不会遇到同样的问题,但它在您的场景中不起作用:您想要的确实是{ggplot2}故意不支持的情况之一

但是,您可以做的是复制一个y轴,并覆盖条形图和平均值(尽管不清楚在这种情况下条形图代表什么):

#修复'YearMonth'列:
df$YearMonth=lubridate::ymd(粘贴(sub(“(.”$”,“0\\1',as.character(df$YearMonth)),“01”))
ggplot(df)+
aes(年-月)+
geom_col(aes(y=计数))+
几何线(aes(y=平均值),尺寸=2,颜色=浅蓝色)+
比例y连续(秒轴=重复轴(名称=空))

我想要两个不同的y轴。左边是计数,右边是次计数,表示平均值。