0

我想用 制作面积图ggplot(mpg, aes(x=year,y=hwy, fill=manufacturer)) + geom_area(),但我得到了这个:

geom_area

我在 R 世界中真的很新,谁能解释为什么它不填充线条之间的区域?谢谢!

4

1 回答 1

2

首先,您的代码没有任何问题。它按预期工作,并且您执行所需的语法是正确的。

那么,您为什么不正确绘制区域几何图形呢?简单的答案是,您没有足够的分数在所有美学(制造商)的 x 值之间划出一条正确的线。试试这个geom_point情节,你会明白我的意思:

ggplot(mpg, aes(x=year,y=hwy)) + geom_point(aes(color=manufacturer))

在此处输入图像描述

您需要不同的数据集。这是一个虚拟的,它只是两条具有不同斜率的线。它按预期工作,因为每个美学都有跨越 x 标签的 y 值:

# dummy dataset
df <- data.frame(
    x=rep(1:10,2),
    y=c(seq(1,10,length.out=10), seq(1,5,length.out=10)),
    z=c(rep('A',10), rep('B', 10))
)

# plot
ggplot(df, aes(x,y)) + geom_area(aes(fill=z))

在此处输入图像描述

于 2020-04-21T19:21:10.467 回答