geom_vline不显示并且使用ggplot2在密度图上显示标准偏差

时间:2019-05-01 17:53:03

标签: r ggplot2

更新:

由于@MrFlick,我的原始问题的第一部分已得到回答。

我仍然对如何使用ggplot2来说明直方图密度图上的标准偏差感到困惑。 (与此类似:Illustrate mean and standard deviation in ggplot2 density plot


第一部分:

我对R相当陌生,目前我已经习惯于ggplot2。我已经根据数据生成了密度图,并使用geom_vline添加了均值,中位数,第一四分位数和第三四分位数的线。我能够显示平均值,中位数和第一四分位数的垂直线;但是,无论如何我都无法显示与第三四分位数相对应的行。

以下是分位数数据:

0% - 110.3001     
25% - 145.2358  
50% - 158.4238      
75% - 173.9326  
100% - 218.1902

因此,第三个四分位数的行应放置在X轴的175左右。

enter image description here

第二部分:

第二,我希望在ggplot2的直方图密度图中添加标准偏差图。我已经看过解决方案here,但是对于代码的工作方式我一无所知。

任何帮助将不胜感激!

代码:

library("ggplot2")
#library("cowplot")
library("sjlabelled")

plant_data <- read.csv(file="g54dma-plant-dataset.csv", header=TRUE, sep=",")

centX_trend <- ggplot(data=plant_data, aes(x=CentroidX)) + 
  geom_histogram(aes(y = ..density..),
                 breaks=seq( centX_summary["Min."] - 10, centX_summary["Max."] + 10, by = 10), 
                 col="black", 
                 fill= NA) + 
  geom_density(alpha = 0.2, fill="#FF6666")+
  geom_vline(aes(xintercept=mean(plant_data$CentroidX), color="mean"), size=1)+
  geom_vline(aes(xintercept=median(plant_data$CentroidX), color="median"),linetype='longdash', size=1)+
  geom_vline(aes(xintercept=quantile(plant_data$CentroidX)[2],color="first_Quantile"), size=1)+
  geom_vline(aes(xintercept=quantile(plant_data$CentroidX)[4],color="third_Quantile"), size=1)+
  scale_color_manual(name = "statistics", values = c(mean = "#FF0000", median = "#3399FF", first_Quantile = "#66CC33", third_quantile = "black"))+
  labs(title="Distribution for X Centroid Values", x="X Centroid Values", y="Density")+ theme_grey()

centX_trend

0 个答案:

没有答案