【问题标题】:How to superimpose a Density graph on a histogram using Python ggplot2? [closed]如何使用 Python ggplot2 在直方图上叠加密度图? [关闭]
【发布时间】:2020-10-06 23:59:52
【问题描述】:

我的问题是关于以下代码的演示

我的搭档用 python 做到了,条形更多,图表更高,无需调整,就像我在这里所做的那样,可以在 R 中做同样的事情

我的看起来一点也不像我怎么能做到这种审美 即使没有调整 bin 和 binwith,我也尝试过秤,但仍然无法获得他们想要的一致性

我的代码:

library(dplyr)
library(ggplot2)
m1<-as.data.frame(replicate(100, rnorm(49,2,3))) 
mm1<-m1 %>% summarise_if(is.numeric, mean) #calcula la media del dataframe
rownames(mm1)="medias" #cambia el nombre de 1 por  "medias"
mm1<-t(mm1) #transpone el dataframe
mm1<-as.data.frame(mm1) #lo convierte en un dataframe
h0<-ggplot(mm1,mapping =   aes(x=medias)) #ingresa los datos para graficar
h1<-h0+geom_histogram(fill="aquamarine4",aes(y=2*(..density..)/sum(..density..)),binwidth =0.45 ,color="white") 
h2<-h1+stat_function(mapping = aes(colour = "N(2,3/7)"),fun = dnorm,args = list(mean = 2,sd = 3/7))
h3<-h2+stat_function(mapping = aes(colour = "N(2,3"),fun = dnorm,args = list(mean = 2,sd = 3))
h4<-h3 +labs(x = "Medias", y= "Escala",title = "Grafico para muestras tamaño 49")
h4

【问题讨论】:

标签: python r ggplot2


【解决方案1】:

如果有 python 代码而不只是一个图像会很好。计算密度时,密度值由 bin 宽度决定。在 python 图中,bin 从 0 运行到 4,因此您需要设置它并调用 ..density..,就像在 R 中这样:

h0 + geom_histogram(aes(y=..density..)) + 
stat_function(aes(colour = "N(2,3/7)"),fun = dnorm,args = list(mean = 2,sd = 3/7))+
stat_function(aes(colour = "N(2,3"),fun = dnorm,args = list(mean = 2,sd = 3)) + xlim(c(0,4))

【讨论】:

  • 如果我有它,它是 jupiter,我只是不知道如何上传它,它有点长......注意会发生什么是我按照它来叠加另一个图,我必须规范化https://www.itl.nist.gov/div898/handbook/eda/section3/histogra.htm#:~:text=This%20is%20the%20intuitive%20case,histogram%20is%20equal%20to%20one
  • 嘿@YefersonGomez,我回答你的问题了吗?
  • 是的,谢谢您的帮助
猜你喜欢
  • 2020-06-12
  • 2016-08-11
  • 2020-06-01
  • 2021-03-14
  • 2020-06-26
相关资源
最近更新 更多