gpt4 book ai didi

r - 修复 ggplot 中构面的顺序

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

数据:

df <- data.frame(
type = c("T", "F", "P", "T", "F", "P", "T", "F", "P", "T", "F", "P"),
size = c("50%", "50%", "50%", "100%", "100%", "100%", "150%", "150%", "150%", "200%", "200%", "200%"),
amount = c(48.4, 48.1, 46.8, 25.9, 26, 24.9, 21.1, 21.4, 20.1, 20.8, 21.5, 16.5)
)

我需要使用 ggplot 绘制上述数据的条形图(x 轴 -> type, y 轴 -> amount, group by size )。当我使用以下代码时,我没有按照数据中显示的顺序获取变量 typesize 。请看图。我为此使用了以下代码。

 ggplot(df, aes(type, amount , fill=type, group=type, shape=type, facets=size)) + 
geom_col(width=0.5, position = position_dodge(width=0.6)) +
facet_grid(.~size) +
theme_bw() +
scale_fill_manual(values = c("darkblue","steelblue1","steelblue4"),
labels = c("T", "F", "P"))

enter image description here .

为了解决顺序问题,我使用了以下变量“类型”的因子方法。另请参阅该图。

temp$new = factor(temp$type, levels=c("T","F","P"), labels=c("T","F","P")) 

enter image description here

但是,现在我不知道如何修复变量size的顺序。应该是50%、100%。 150% 和 200%。

最佳答案

通过以下方式使您的大小成为数据框中的一个因素:

temp$size_f = factor(temp$size, levels=c('50%','100%','150%','200%'))

然后将facet_grid(.~size)更改为facet_grid(.~size_f)

然后绘制: enter image description here

图表现在的顺序是正确的。

关于r - 修复 ggplot 中构面的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14262497/

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