r - 用 ggplot 和 par 在 R 中绘制两个图
问题描述
我开始学习 R。我从包中的 Iris 数据集开始datasets
。要绘制 som 图,我需要使用ggplot2
包。如何拆分 Plots 窗口并绘制两个图形?
我尝试使用以下代码,但只显示了一张图表。
iris=datasets::iris
par(mfrow=c(2,1))
ggplot(iris, aes(x=Sepal.Length,y=Sepal.Width,color=Species))+ geom_point(size=3)
ggplot(iris, aes(x=Petal.Length,y=Petal.Width,color=Species))+ geom_point(size=3)
解决方案
由于ggplot2
是基于grid
图形系统而不是base plot,par
对调整plot没有效果ggplot2
,而且ggplot2最新版本已经支持不同plot的排列,可以为每一个plot设置tag:
iris=datasets::iris
ggplot(iris, aes(x=Sepal.Length,y=Sepal.Width,color=Species))+ geom_point(size=3) + labs(tag = "A") -> p1
ggplot(iris, aes(x=Petal.Length,y=Petal.Width,color=Species))+ geom_point(size=3) + labs(tag = "B") -> p2
p1 + p2
对于更复杂的排列,您可以使用patchwork
包来排列它们
推荐阅读
- java - 安全连接 DBNAME.zip 上传到存储库是否安全?
- c# - 时间:2018-01-10 标签:c#nulling a item of generic list (List
) 真的 - sql - 如何从表中选择数据(具有一种十进制类型)并插入另一个表(具有不同的十进制类型)
- python - CV2 相机 - Python
- c - 以下 C 语言语句 -1<<1 的输出是什么?
- php - 为什么输出在 php 中显示未定义的“提交”?
- org-mode - 根据 org-mode 中的子项自定义项目符号
- css - CSS - 长文本没有按预期换行
- php - 在菜单刀片 laravel 7 中显示类别
- python - 无法将 BytesIO 发送到 Telegram 机器人: