首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中绘出两幅带ggplot和par的图解

在R中绘出两幅带ggplot和par的图解
EN

Stack Overflow用户
提问于 2018-11-12 00:14:17
回答 2查看 387关注 0票数 1

我开始学习R。我从datasets包中的Iris数据集开始。要绘制索姆图,我需要使用ggplot2包。如何分割地块窗口并绘制两幅图?

我尝试使用下面的代码,但只显示了一个图。

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-12 00:28:23

使用win.graph()将窗口拆分为两部分。

由于您没有提供数据集,如果您想创建一个并排的绘图,请根据下面的示例进行尝试。

试试这个:

代码语言:javascript
复制
library(cowplot)

iris1 <- ggplot(iris, aes(x = Species, y = Sepal.Length)) +
  geom_boxplot() + theme_bw()

iris2 <- ggplot(iris, aes(x = Sepal.Length, fill = Species)) +
  geom_density(alpha = 0.7) + theme_bw() +
  theme(legend.position = c(0.8, 0.8))

plot_grid(iris1, iris2, labels = "AUTO")
票数 3
EN

Stack Overflow用户

发布于 2018-11-12 04:02:00

由于ggplot2基于grid图形系统而不是基本绘图,因此par无法有效地调整ggplot2绘图,而最新版本的ggplot2已经支持不同绘图的排列,您可以为每个绘图设置标记:

代码语言:javascript
复制
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包来安排它们。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53254539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档