反转ggplot中堆叠条形图的顺序
Reverse the order of a stacked bar chart in ggplot
我正在进行销售分析,以查看在不同时间段发生了多少销售。这是我的代码:
mutate(
g = ifelse(Diff_l_b < 720 & Diff_l_b > 360, -1,
ifelse(Diff_l_b < 360 & Diff_f_b > 270, 1,
ifelse(Diff_f_b < 270 & Diff_f_b > 90, 2,
ifelse(Diff_f_b < 90,3, NA_real_))))
)
ggplot(data = T_AD,
aes(x = `Name Sales Representative`, y = g ))+
geom_bar(stat = "identity", aes(fill = as.factor(g)))
scale_fill_discrete(
name = "Veterinarians Sold To",
labels = c("2 years ago", "last year", "last 9 month","last 3 month" ))+
ggtitle( "Actica25")+
ylab("Veterinarians Sold To") +
coord_flip()
它应该是这样的:
Graph
但是堆叠的顺序要反过来
我已经尝试过 fct_rev
、relevel
和 order
,但每次我在绘制之前将 g 定义为因子时,结果都像 this.
所以“去年”部分应该在里面,“9 个月”在右边,“最后 3 个月”在右边。感谢您的帮助。
您没有提供数据示例,但是如果您只需要反转图中的堆积条,您可以使用:
position = position_stack(reverse = TRUE)
在您的 geom_bar()
或 geom_col()
函数中,例如:
geom_bar(position = position_stack(reverse = TRUE), aes(fill = g))
在 documentation 中查看更多信息。
如果您需要翻转图例,请使用:
guides(fill = guide_legend(reverse = TRUE))
作为您 ggplot
的一部分,例如:
... +
ggtitle( "Actica25") +
ylab("Veterinarians Sold To") +
coord_flip() +
guides(fill = guide_legend(reverse = TRUE))
在 documentation 中查看更多详细信息。
我正在进行销售分析,以查看在不同时间段发生了多少销售。这是我的代码:
mutate(
g = ifelse(Diff_l_b < 720 & Diff_l_b > 360, -1,
ifelse(Diff_l_b < 360 & Diff_f_b > 270, 1,
ifelse(Diff_f_b < 270 & Diff_f_b > 90, 2,
ifelse(Diff_f_b < 90,3, NA_real_))))
)
ggplot(data = T_AD,
aes(x = `Name Sales Representative`, y = g ))+
geom_bar(stat = "identity", aes(fill = as.factor(g)))
scale_fill_discrete(
name = "Veterinarians Sold To",
labels = c("2 years ago", "last year", "last 9 month","last 3 month" ))+
ggtitle( "Actica25")+
ylab("Veterinarians Sold To") +
coord_flip()
它应该是这样的:
Graph
但是堆叠的顺序要反过来
我已经尝试过 fct_rev
、relevel
和 order
,但每次我在绘制之前将 g 定义为因子时,结果都像 this.
所以“去年”部分应该在里面,“9 个月”在右边,“最后 3 个月”在右边。感谢您的帮助。
您没有提供数据示例,但是如果您只需要反转图中的堆积条,您可以使用:
position = position_stack(reverse = TRUE)
在您的 geom_bar()
或 geom_col()
函数中,例如:
geom_bar(position = position_stack(reverse = TRUE), aes(fill = g))
在 documentation 中查看更多信息。
如果您需要翻转图例,请使用:
guides(fill = guide_legend(reverse = TRUE))
作为您 ggplot
的一部分,例如:
... +
ggtitle( "Actica25") +
ylab("Veterinarians Sold To") +
coord_flip() +
guides(fill = guide_legend(reverse = TRUE))
在 documentation 中查看更多详细信息。