多个分布图(不同的变量)作为同一图中的构面

时间:2016-10-11 09:50:04

标签: r ggplot2 distribution facet subplot

我想将不同变量的分布图放入单个图像文件中。每个分布图(子图)包含按颜色分隔的类似组。

目前我正在使用ggplot分别绘制每个变量。然后我使用grid.arrange将所有子图组合在一起,我可以代表所有的分布。

(下面的示例代码)

#plot1
plot_min_RTT <- ggplot(house_total_year, aes(x=min_RTT,  colour = ISP)) +
geom_density(adjust = 1/2,alpha=0.1, size = 2) 

#plot2
plot_MaxMSS <- ggplot(house_total_year, aes(x=MaxMSS,  colour = ISP)) +
geom_density(adjust = 1/2,alpha=0.1, size = 2) 

#plot3
plot_send_buffer_size <- ggplot(house_total_year, aes(x=send_buffer_size,  colour = ISP)) +
geom_density(adjust = 1/2,alpha=0.1, size = 2) 

#plot4
plot_maxSpeed <- ggplot(house_total_year_filtered, aes(x=download_speed_max_month,  colour = ISP)) +
geom_density(adjust = 1/2,alpha=0.1, size = 2) 

#combine
grid.arrange(plot_min_RTT,plot_MaxMSS,plot_send_buffer_size,plot_maxSpeed)

可以看出,每个子图的x轴使用的变量是不同的。但是所有人都有类似的分组变量(ISP)。我最终得到了下面的一个图:

What I currently have

但是,我真正想要的是对所有子图只有一个图例(ISP)。我正在考虑使用ggplot中的facet_wrap函数,但我仍然在努力解决这个问题。请帮忙。

任何建议将不胜感激!

谢谢! :)

1 个答案:

答案 0 :(得分:1)

您没有提供可重现的数据,因此我使用了ggplot包附带的data.frame while (numberofspaces > 0)

mpg

enter image description here