gpt4 book ai didi

r - ggplot2 - 翻转堆积条形图中的级别顺序

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

此代码相当少,应该能够调整为解决方案。

blah <- data.frame(X1=c("Decrease Risk","Don't Know","Increase Risk","No Effect","Decrease Risk","Don't Know","Increase Risk","No Effect"),
X2=c("Red Meat","Red Meat","Red Meat","Red Meat","Red Meat","Red Meat","Red Meat","Red Meat"),
value=c(1.98,31.19,64.38,2.43,4.65,24.55,35.88,34.90),
status=c("Case","Case","Case","Case","Control","Control","Control","Control")
)

ggplot(blah, aes(X2, value, fill=X1)) + geom_bar() + coord_flip() + facet_wrap(~status) +
labs(x="Perceived Risk Factors", y="Percentage (%)", tilte="Some Title", fill="Responses")

enter image description here

我想要的是右侧的“控件”的“响应”级别的顺序颠倒了。关键是对于控件,紫色在里面,然后是蓝色,然后是绿色,外面是粉红色。在这样的情节中这样做是很常见的,我可以想到这样做的方法,涉及一些相当肮脏的变量重复和有序因子水平的改变,但认为有人可能有一个优雅的解决方案/想法?

最佳答案

这是使用订单美学的一种稍微微妙的方法。

ggplot(blah, aes(X2, value, fill = X1, 
order = (3-as.numeric(status)*2) * as.numeric(X1))) +
geom_bar() + coord_flip() + facet_wrap(~status) +
labs(x="Perceived Risk Factors", y="Percentage (%)", title="Some Title",
fill="Responses")

enter image description here

这并不理想,因为当有两个以上的方面时,它不会那么容易地概括所有内容。

关于r - ggplot2 - 翻转堆积条形图中的级别顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13006409/

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