多个密度图,图中为R

时间:2017-12-08 09:25:40

标签: python r plotly

我非常喜欢这个python示例:https://plot.ly/python/distplot/滚动到Plot Multiple Datasets。我希望R可以使用完全相同的东西,但它没有记录。这是否意味着它不可能?我遇到了这个例子https://community.plot.ly/t/r-plotly-overlay-density-histogram/640/4,我觉得它不太好看。 这不起作用,但会对我使用的数据有所了解。

# Add histogram data
x1 = data.table(a=rnorm(n = 200,mean = 0,sd = .1), by='Group1')
x2 = data.table(a=rnorm(n = 200,mean = 1,sd = .15), by='Group2')
x3 = data.table(a=rnorm(n = 200,mean = 2,sd = .2), by='Group3')
x4 = data.table(a=rnorm(n = 200,mean = 3,sd = .25), by='Group4')

agg <- rbind(x1,x2,x3,x4)
plot_ly(data = agg, type = "histogram",histnorm, name = "Histogram",group_by='by')
plot_ly(data = agg, type = "density",histnorm, name = "Density",group_by='by')

1 个答案:

答案 0 :(得分:1)

我不完全确定您在R中缺少哪个关键元素,但这里有一个基于plotly的密度加地毯图示例,基于您的示例数据。

这是静态ggplot版本。

require(ggplot2);
gg <- ggplot(agg, aes(x = a, colour = by)) + geom_density() + geom_rug();

enter image description here

包含屏幕截图的交互式ggplotly版本。

require(plotly);
ggplotly(gg);

enter image description here

您还可以添加例如

的直方图
gg + geom_histogram(aes(y = ..density.., fill = by), alpha = 0.2, bins = 50)