R 订购镶嵌条打印标签ggplot2
我试图在我的图中根据与图中所示不同的值来订购啤酒品牌。以下是我到目前为止的情况:R 订购镶嵌条打印标签ggplot2,r,ggplot2,R,Ggplot2,我试图在我的图中根据与图中所示不同的值来订购啤酒品牌。以下是我到目前为止的情况: ggplot(rn, aes(Beer, Move)) + geom_bar(stat = "identity", aes(fill = Beer)) + geom_text(aes(label = paste0(ifelse(Move >= 0, "+", "-"), round(Move, 0)), hjust = ifelse(Move >= 0, -0.1, 1.1)), size =
ggplot(rn, aes(Beer, Move)) +
geom_bar(stat = "identity", aes(fill = Beer)) +
geom_text(aes(label = paste0(ifelse(Move >= 0, "+", "-"), round(Move, 0)), hjust = ifelse(Move >= 0, -0.1, 1.1)), size = 3) +
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5)) +
coord_flip() +
facet_grid( ~ Week)
我想通过将两种周
类型的总Vol
值降序,在下图的y轴上排列标签
rn <- structure(list(Beer = c("TOTAL\nMANUFACTURER", "TOTAL\nMANUFACTURER",
"BUD ICE", "BUD ICE", "BUD LIGHT", "BUD LIGHT", "BUD LIGHT LIME",
"BUD LIGHT LIME", "BUD LIGHT\nPLATINUM", "BUD LIGHT\nPLATINUM",
"BUDWEISER", "BUDWEISER", "BUDWEISER\nSELECT", "BUDWEISER\nSELECT",
"BUSCH", "BUSCH", "BUSCH LIGHT", "BUSCH LIGHT", "BUSCH\nSIGNATURE\nCOPPER LAGER",
"BUSCH\nSIGNATURE\nCOPPER LAGER", "KING COBRA", "KING COBRA",
"MICHELOB ULTRA", "MICHELOB ULTRA", "NATTY DADDY", "NATTY DADDY",
"NATURAL ICE", "NATURAL ICE", "NATURAL LIGHT", "NATURAL LIGHT",
"ROLLING ROCK", "ROLLING ROCK", "STELLA ARTOIS", "STELLA ARTOIS"
), Move = c(10.9988965633466, 10.1917719480268, 18.7942890269773,
17.8379704000208, 8.52818879847615, 6.57322359471904, -1.6643480768426,
-12.1827006261446, -27.2318264955458, -25.2438712289667, 1.9069242423403,
0.638652351445872, 35.3911234177604, 32.8505336536518, 21.185972764471,
22.6051124119408, 38.9175541069643, 38.3366719548672, 27.7826940408763,
12.5811399710158, 7.61387785160614, 5.3730476632517, 2.523089374317,
6.65243800531876, 15.6173328636012, 9.99422424529812, 15.8994933396845,
16.417584385266, -3.80149571073229, -8.0531186783228, 5.89476792019757,
9.26717373953234, 2.99948475741683, -9.23164967143357), Vol = c(1648111.1,
5206063.1, 97212.8, 299075.2, 488052.9, 1603105.5, 35031.9, 108055.8,
24700.5, 76511.2, 218627.9, 686473.6, 7531, 24379.5, 168583.9,
521768.3, 283476.3, 886896.1, 4086.9, 12142.7, 18267.6, 55111.6,
28543.5, 90719, 24303.8, 62871.5, 58335.5, 176122.4, 176848.2,
557538.9, 10981.1, 33924.5, 3527.3, 11367.3), Week = c("3 Week Aggregate",
"12 Week Aggregate", "3 Week Aggregate", "12 Week Aggregate",
"3 Week Aggregate", "12 Week Aggregate", "3 Week Aggregate",
"12 Week Aggregate", "3 Week Aggregate", "12 Week Aggregate",
"3 Week Aggregate", "12 Week Aggregate", "3 Week Aggregate",
"12 Week Aggregate", "3 Week Aggregate", "12 Week Aggregate",
"3 Week Aggregate", "12 Week Aggregate", "3 Week Aggregate",
"12 Week Aggregate", "3 Week Aggregate", "12 Week Aggregate",
"3 Week Aggregate", "12 Week Aggregate", "3 Week Aggregate",
"12 Week Aggregate", "3 Week Aggregate", "12 Week Aggregate",
"3 Week Aggregate", "12 Week Aggregate", "3 Week Aggregate",
"12 Week Aggregate", "3 Week Aggregate", "12 Week Aggregate")), .Names = c("Beer",
"Move", "Vol", "Week"), class = c("data.table", "data.frame"), row.names = c(NA,
-34L))
rnrn=0,-0.1,1.1)),大小=3)+
主题(axis.text.x=元素\文本(角度=90,hjust=1,vjust=0.5))+
coord_flip()+
平面网格(~周)
你想让总制造商也在其中吗?@rawr最好是这样。如果你加上这个,当你运行相同的ggplot代码时,它应该是这样的吗rn$Beer如果您将Move
更改为Vol
,那么是的,这就是我要找的,但是错误也很多。。。如果有更干净的方法,我会很感激,但如果你发帖子,我会接受这个答案,那就添加levels=make.unique(…)
这样会弄糟什么吗?
rn <- structure(list(Beer = c("TOTAL\nMANUFACTURER", "TOTAL\nMANUFACTURER",
"BUD ICE", "BUD ICE", "BUD LIGHT", "BUD LIGHT", "BUD LIGHT LIME",
"BUD LIGHT LIME", "BUD LIGHT\nPLATINUM", "BUD LIGHT\nPLATINUM",
"BUDWEISER", "BUDWEISER", "BUDWEISER\nSELECT", "BUDWEISER\nSELECT",
"BUSCH", "BUSCH", "BUSCH LIGHT", "BUSCH LIGHT", "BUSCH\nSIGNATURE\nCOPPER LAGER",
"BUSCH\nSIGNATURE\nCOPPER LAGER", "KING COBRA", "KING COBRA",
"MICHELOB ULTRA", "MICHELOB ULTRA", "NATTY DADDY", "NATTY DADDY",
"NATURAL ICE", "NATURAL ICE", "NATURAL LIGHT", "NATURAL LIGHT",
"ROLLING ROCK", "ROLLING ROCK", "STELLA ARTOIS", "STELLA ARTOIS"),
Move = c(10.9988965633466, 10.1917719480268, 18.7942890269773,
17.8379704000208, 8.52818879847615, 6.57322359471904, -1.6643480768426,
-12.1827006261446, -27.2318264955458, -25.2438712289667, 1.9069242423403,
0.638652351445872, 35.3911234177604, 32.8505336536518, 21.185972764471,
22.6051124119408, 38.9175541069643, 38.3366719548672, 27.7826940408763,
12.5811399710158, 7.61387785160614, 5.3730476632517, 2.523089374317,
6.65243800531876, 15.6173328636012, 9.99422424529812, 15.8994933396845,
16.417584385266, -3.80149571073229, -8.0531186783228, 5.89476792019757,
9.26717373953234, 2.99948475741683, -9.23164967143357),
Vol = c(1648111.1,5206063.1, 97212.8, 299075.2, 488052.9, 1603105.5, 35031.9, 108055.8,
24700.5, 76511.2, 218627.9, 686473.6, 7531, 24379.5, 168583.9,
521768.3, 283476.3, 886896.1, 4086.9, 12142.7, 18267.6, 55111.6,
28543.5, 90719, 24303.8, 62871.5, 58335.5, 176122.4, 176848.2,
557538.9, 10981.1, 33924.5, 3527.3, 11367.3), Week = c("3 Week Aggregate",
"12 Week Aggregate", "3 Week Aggregate", "12 Week Aggregate",
"3 Week Aggregate", "12 Week Aggregate", "3 Week Aggregate",
"12 Week Aggregate", "3 Week Aggregate", "12 Week Aggregate",
"3 Week Aggregate", "12 Week Aggregate", "3 Week Aggregate",
"12 Week Aggregate", "3 Week Aggregate", "12 Week Aggregate",
"3 Week Aggregate", "12 Week Aggregate", "3 Week Aggregate",
"12 Week Aggregate", "3 Week Aggregate", "12 Week Aggregate",
"3 Week Aggregate", "12 Week Aggregate", "3 Week Aggregate",
"12 Week Aggregate", "3 Week Aggregate", "12 Week Aggregate",
"3 Week Aggregate", "12 Week Aggregate", "3 Week Aggregate",
"12 Week Aggregate", "3 Week Aggregate", "12 Week Aggregate")), .Names = c("Beer",
"Move", "Vol", "Week"), class = "data.frame", row.names = c(NA,
-34L))
## add this and use make.unique to avoid duplicate factor label warnigs
## everything else stays the same
rn$Beer <- with(rn, factor(Beer, levels = make.unique(Beer[order(ave(Vol, Beer, FUN = sum))])))
library('ggplot2')
ggplot(rn, aes(Beer, Move)) +
geom_bar(stat = "identity", aes(fill = Beer)) +
geom_text(aes(label = paste0(ifelse(Move >= 0, "+", "-"), round(Move, 0)), hjust = ifelse(Move >= 0, -0.1, 1.1)), size = 3) +
theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust = 0.5)) +
coord_flip() +
facet_grid( ~ Week)