gpt4 book ai didi

r - ggplot2 geom_area 重叠面积图在彼此前面

转载 作者:行者123 更新时间:2023-12-03 16:05:48 29 4
gpt4 key购买 nike

我正在尝试制作一个区域图,其中不同区域相互重叠而不是堆叠。

我有一个看起来像这样的数据框:

     r   variable      value
1 45.0 Cat 1 4.057250e+03
2 52.5 Cat 1 3.537323e+03
3 56.1 Cat 1 3.429861e+03
4 57.3 Cat 1 3.395330e+03
5 57.6 Cat 1 3.389983e+03
6 45.0 Cat 2 4.545455e-03
7 52.5 Cat 2 4.509400e+01
8 56.1 Cat 2 3.525753e+02
9 57.3 Cat 2 4.185094e+02
10 57.6 Cat 2 4.336622e+02
11 45.0 Cat 3 4.074432e+03
12 52.5 Cat 3 3.630504e+03
13 56.1 Cat 3 3.919076e+03
14 57.3 Cat 3 3.957039e+03
15 57.6 Cat 3 3.970083e+03
16 45.0 Cat 4 1.718182e+01
17 52.5 Cat 4 9.318133e+01
18 56.1 Cat 4 4.892154e+02
19 57.3 Cat 4 5.617087e+02
20 57.6 Cat 4 5.801001e+02

我正在尝试获取每个类别的面积图。我的代码是:
p <- ggplot(reshaped_data, aes(r, value))
p <- p + labs(x = "X Axis", y = "Y Axis") + ggtitle(title)
p <- p + geom_area(aes(colour = variable, fill= variable), position = 'stack')
p

我得到的结果是这样的:
Generated Graph

我怎样才能使面积图不相互堆叠,但最小的覆盖在较大的前面?

谢谢

最佳答案

使用 tidyverse :

library(forcats)
p + geom_area(aes(colour = variable,
fill= fct_reorder(variable, value, .desc = TRUE)), position = 'identity')

删除 .desc = TRUE如果它与你想要的相反。

关于r - ggplot2 geom_area 重叠面积图在彼此前面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40515581/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com