我正在使用ggplot2绘制堆积条形图。我创建了一个包含变量car_make
,color
和proportion
的数据框(df_car),后者是数字。沿着x轴有{20}种car_make
,而color
有4种作为填充。每个car_make
的比例加起来为1.
我不希望car_make
按字母顺序排列,所以我重新订购了它:
df_car$car_make <- factor(df_car$car_make, levels = c("toyota", "ford", "mercedes", etc.)
然后我重新订购了填充级别:
df_car$color <- factor(df_car$color, levels = c("red", "white", "black", "silver")
我绘制堆积条形图:
bp_car<- ggplot(df_car, aes(x=car_make, y=proportion, fill=color)) + geom_bar(stat="identity")
x轴按我指定的方式出现。但是条形填充的顺序仍然是按字母顺序排列的...只有图例的顺序响应并按指定的方式出现。执行...
levels(df_car$color)
...给出
“红色”,“白色”,“黑色”,“银色”
如何让酒吧填写重新订购?
答案 0 :(得分:1)
您不需要包含颜色名称的数据列(ggplot以这种方式与基本图形不同)。一旦您的汽车水平得到适当的订购(如您所做),您需要设置填充色标
bp_car <- ggplot(df_car, aes(x = car_make, y = proportion, fill = car_make)) +
geom_bar(stat="identity") +
scale_fill_manual(values = c("red", "white", "black", "silver"))