如何更改 ggplot2 条形图中的堆叠顺序?

发布于 2024-08-25 04:31:42 字数 412 浏览 8 评论 0原文

来自在线条形图指南

qplot(factor(cyl), data=mtcars, geom="bar", fill=factor(gear)) 

使用 <code>qplot</code> 功能的条形图<code>ggplot2</code>

如何让 5 个位于底部,4 个位于其上方,3 个位于顶部?

From the online bar chart guide:

qplot(factor(cyl), data=mtcars, geom="bar", fill=factor(gear)) 

barplot using <code>qplot</code> feature of <code>ggplot2</code>

How do I get 5 to sit on the bottom, 4 above that, and 3 on top?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

生寂 2024-09-01 04:31:42

qplot(factor(cyl), data=mtcars, geom="bar", fill=factor(gear), order = -gear)

qplot(factor(cyl), data=mtcars, geom="bar", fill=factor(gear), order = -gear)

佼人 2024-09-01 04:31:42
qplot(factor(cyl), data=mtcars, geom='bar', fill=factor(gear, level=5:3))
qplot(factor(cyl), data=mtcars, geom='bar', fill=factor(gear, level=5:3))
爱格式化 2024-09-01 04:31:42

要推广 @xiechao 的解决方案(@hadley 的解决方案在最新的 ggplot 中不起作用),您可以反转因子顺序来实现此目的:

library(ggplot2)
data(mtcars)
mtcars$gear <- factor(mtcars$gear)  # First make factor with default levels
mtcars$gear <- factor(mtcars$gear, levels=rev(levels(mtcars$gear)))
qplot(cyl, data=mtcars, geom="bar", fill=gear)
# Or with ggplot
ggplot(mtcars, aes(factor(cyl), fill=gear)) + geom_bar()

在此处输入图像描述

To generalize @xiechao's solution (@hadley's doesn't work in latest ggplot), you can reverse the factor orders to achieve this:

library(ggplot2)
data(mtcars)
mtcars$gear <- factor(mtcars$gear)  # First make factor with default levels
mtcars$gear <- factor(mtcars$gear, levels=rev(levels(mtcars$gear)))
qplot(cyl, data=mtcars, geom="bar", fill=gear)
# Or with ggplot
ggplot(mtcars, aes(factor(cyl), fill=gear)) + geom_bar()

enter image description here

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文