对于单个值,离散 x 刻度的阶数不正确 [duplicate]

Order of discrete x scale is incorrect for a single value [duplicate]

提问人:Falling Into Infinity 提问时间:9/17/2023 更新时间:9/17/2023 访问量:29

问:

我正在尝试用 R 填充条形图,一切都按预期工作,但其中一个 X 值的顺序错误。

这是我的代码:

data<- read.csv("figure.csv", header = TRUE, colClasses = c("factor", "factor", "factor", "numeric"))

data %>% 
  ggplot(aes(x=Options.1, y=Value))+
  geom_bar(width= 0.6, stat = "identity", 
           position = "dodge",
           fill= "steelblue",
           color= "black", size= 0.8, 
           key_glyph= "polygon3")+ 
  geom_text(aes(label=Value),size=4, position = position_dodge(width=0.9), vjust = -1)+
  facet_wrap(~Rank.1, labeller = labeller(Rank.1=c("Rank 1"="Rank 1", 
                                                   "Rank 1_3"= "Rank 1-3",
                                                   "Rank 4_9"="Rank 4-9")))+
  labs(x=NULL, y= "Number of people")+
  scale_y_continuous(expand = expansion(0),limits = c(0,250), breaks = seq(0,250,50))+
  scale_x_discrete(breaks=c("i", "ii", "iii", "iv", "v", "vi", "vii", "viii", "ix"),
                   labels=c("(i)", "(ii)", "(iii)", "(iv)", "(v)", 
                            "(vi)", "(vii)", "(viii)", "(ix)"))+
  theme_grey()+
  theme(
    plot.margin = unit(c(1, 1, 1, 1), "cm"),
    axis.line.x.bottom = element_line(size = 1), 
    axis.line.y.left = element_line(size = 1),
    legend.title = element_text(face="bold", size=18),
    legend.position = c(0.8, 0.7),
    legend.background = element_rect(color = "black", linewidth = 0.95),
    legend.text =element_text(face="bold", size=14),
    strip.text = element_text(size=15), 
    axis.text=element_text(face="bold", size=18),
    axis.title = element_text(face="bold", size=18),
    axis.ticks.x = element_blank(),
    axis.ticks.y = element_line(size = 0.5)
    )+
    guides(fill = guide_legend(keywidth = 0.7, keyheight = 0.6, default.unit= "cm")) 

输出如下,其中 (ix) 字段在 (iv) 之后放错了位置。理想情况下,它应该放在(viii)之后。

enter image description here

这是我的图表的数据:

enter image description here

GGPLOT2 R-常见问题

评论


答: 暂无答案