【问题标题】:How can I add a line plot in a BOX plot using secondary y axis but same x axis如何使用辅助 y 轴但相同的 x 轴在 BOX 图中添加线图
【发布时间】:2018-01-06 11:03:29
【问题描述】:

我正在尝试在我的箱形图中添加一个线图,在辅助 y 轴上,但我做不到。该怎么办?请帮忙

我的箱线图代码是:

library(ggplot2)
mydata<-read.csv("boxplot2.csv")
mydata$Class <- factor(mydata$Class,labels = c("1", "2", "3", "4", "5", "6"))
p10 <- ggplot(mydata, aes(x = mydata$Class, y = log(mydata$erosion))) + 
    geom_boxplot()
p10
p10 <- p10 + 
    scale_x_discrete(name = "Mean Annual Precipitation(mm/yr)") +     
    scale_y_continuous(name = "Log Average Erosion Rate(m/My)")
p10 <- ggplot(mydata, aes(x = mydata$Class, y = log(mydata$erosion))) +
    geom_boxplot(varwidth=TRUE)
p10 <- p10 + 
    scale_x_discrete(name = "Mean Annual Precipitation(mm/yr)") +
    scale_y_continuous(name = "Log Average Erosion Rate(m/My)")

我想要类似的图,但不是直方图,而是箱形图

添加样本数据 % 植被侵蚀等级 0 0.43 1 0 0.81 1 2 0.26 1 3 1.05 1 3 0.97 1 12.76 15.97 2 12.84 17.69 2 11.01 14.76 2 13.44 17.94 2 10.76 10.65 2 7.28 67.47 2 23 120.4 3 21 298.63 3 52 21.4 3 9 64.94 3 50 291.88 3 16 493.98 3 11 183.45 3

【问题讨论】:

  • 请提供一个可重现的例子(带有一些子集或虚构的数据)。你最终得到了一个箱线图,因为你做了geom_boxplot() - 到底是什么问题?
  • 我想在我的箱形图中添加一个线图。所以线图将具有辅助 y 轴,并且 x 轴与我的箱线图相同
  • 想法是创建与上图相同的东西,但不是直方图,我想要箱线图,并希望线图与辅助 y 轴上的一样
  • 发布一些示例数据,否则您不太可能得到任何回复;或者简单地搜索 ggplot2 堆积条形图。
  • ggplot 设计不支持辅助 y 轴,请参阅此处的讨论:stackoverflow.com/a/3101876/7860688。您仍然可以通过一些调整绘制第二个垂直轴。该过程显示在同一链接上。如果您认为这可能会有所帮助,我也可以发布该答案。

标签: r plot ggplot2 line


【解决方案1】:

您只需为 geom_line 指定不同的美感,如下所示:

ggplot(iris,aes(x=Species, y=Sepal.Length, fill=Species)) + 
geom_boxplot() + 
geom_line(aes(x=Species, y=Petal.Length, group=1), stat = "summary", fun.y="mean") +
scale_y_continuous(sec.axis = sec_axis(~.))

【讨论】:

    猜你喜欢
    • 2020-03-28
    • 1970-01-01
    • 2021-03-22
    • 2018-01-18
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    • 2020-11-05
    • 1970-01-01
    相关资源
    最近更新 更多