我是R的新手。我在下面的geom_text图表中对geom_col元素的排序遇到麻烦。

我相信这与position = position_dodge2(preserve = "single")行有关,但我不确定。

示例代码和附带的输出。如您所见,标签是错误的-应当切换eb以及ad

睁大眼睛(也许头脑更聪明)的人可以看到问题所在吗?

r - geom_col值困惑-LMLPHP

library(ggplot2)
library(stringr)

data <- data.frame(Importance = c("Not important", "Important", "Critical", "Not important", "Important"), Current.Capability = c("Basic", "Undeveloped", "Advanced", "World class", "World class"), Function = c("PM", "Sales", "PM", "Marketing", "Marketing"), Item = c("a","b", "c", "d", "e"))

str(data)
head(data)

width <- 2
position.width <- width - 0.05

ggplot(data, aes(x = Importance, y = Current.Capability, fill=Function)) +
  geom_col(position = position_dodge2(preserve = "single"), width = width) +
  facet_grid(~Importance, scales = "free_x", space = "free_x") +
  geom_text(
    aes(
    label = stringr::str_wrap(Item, 50)),
    lineheight = 0.7,
    angle=90,
    size = 5,
    hjust=0,
    vjust=0.5,
    y = 0.5,
    position = position_dodge2(preserve = "single", width = position.width)) +
  theme(axis.text.x = element_blank(), axis.ticks = element_blank()) +
  theme(legend.position="bottom")+
  scale_y_discrete(limits = c("Undeveloped", "Basic", "Advanced", "World class")) +
  xlab("Importance") + ylab("Current Capability")

最佳答案

辛苦了也许您可以尝试在group = Importance的美感中添加geom_text。也就是说,要“明确定义分组结构”,请参见grouping。另外,here是一个相关情况。

ggplot(data, aes(x = Importance, y = Current.Capability, fill=Function)) +
  geom_col(position = position_dodge2(preserve = "single"), width = width) +
  facet_grid(~Importance, scales = "free_x", space = "free_x") +
  geom_text(
    aes(
      label = stringr::str_wrap(Item, 50),
      group = Importance), # explicitly define the grouping structure
    lineheight = 0.7,
    angle=90,
    size = 5,
    hjust=0,
    vjust=0.5,
    y = 0.5,
    position = position_dodge2(preserve = "single", width = position.width)) +
  theme(axis.text.x = element_blank(), axis.ticks = element_blank()) +
  theme(legend.position="bottom")+
  scale_y_discrete(limits = c("Undeveloped", "Basic", "Advanced", "World class")) +
  xlab("Importance") + ylab("Current Capability")


r - geom_col值困惑-LMLPHP

关于r - geom_col值困惑,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53731096/

10-12 23:29