如何使用ggplot2绘制12条水平线,每条线有3个值?

问题描述 投票:0回答:1

我有一个包含 12 个类别、3 个受众和相应值的数据框,排列为“长”,这样我就可以(理论上)沿着类别使用 facet_wrap 并在每个类别线上绘制所有三个受众值。数据如下:

类别 观众 价值
类别_1 观众_1 5.5
类别_2 观众_1 4.3
类别_3 观众_1 6
类别_1 观众_2 6.5
类别_2 观众_2 2.6
类别_3 观众_2 3.7

...依此类推,总共 12 个类别和 3 个受众。

我想要一个几何图形,它将沿着每个类别的一条线绘制每个受众的值,这样总共就有 12 条水平线,每条线上绘制 3 个值;理论上,代码看起来像这样:

data %>%
    ggplot(aes(x = Value, y = Audience)) +
    geom_???() +
    facet_wrap(~Category)

是否有任何 geom_ 可以根据要求绘制此图?谢谢!

到目前为止,我只能按照我的指示排列数据并搜索可以执行绘图的几何图形,但我无法找到可以执行我想要的操作的几何图形。

r ggplot2 geom
1个回答
0
投票

要画一条线,我们使用

geom_line
。请注意,对于分类 x 轴,我们需要适当设置
group

ggplot(df, aes(x = Category, y = Value, color = Audience, group = Audience)) +
  geom_line()

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.