如何使用辅助y轴但相同x轴

时间:2017-07-31 01:22:52

标签: r plot ggplot2 line

我正在尝试在我的盒子图上添加一个线图,在次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

1 个答案:

答案 0 :(得分:0)

你只需要为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(~.))