如何解决针对ggplot2中的一列绘制多列
在我的data
中,我有12列称为X1
至X12
,另外还有一列称为x
。使用ggplot2
包,我想知道如何绘制X1
至X12
的每一列作为y轴,而与x轴相同的x
列呢?
我怀疑我需要分别将facet_wrap()
至X1
的{{1}}作为y轴,并将X12
作为x轴。因此,我们将有12个图,每个图都以x
至X1
中的一个作为y轴,而同一X12
列作为x轴。
注意:我需要一个x
。
geom_line
解决方法
是的,您可以使用pivot_longer
(或gather
)和构面来实现这一目标。
一个问题是,默认情况下,标签的排列顺序不是X1-X12,因此您需要指定因子水平。
尝试一下:
data %>%
pivot_longer(cols = 1:12) %>%
mutate(name = factor(name,levels = paste0("X",1:12))) %>%
ggplot(aes(x,value)) +
geom_line() +
facet_wrap(~name) +
theme_bw()
结果:
,我们可以将geom_line
与facet_wrap
一起使用
library(ggplot2)
data %>%
pivot_longer(cols = -x) %>%
ggplot(aes(x,value)) +
geom_line() +
facet_wrap(~ name)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。