Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R ggplot2比例条形图:每个条形图只显示17个级别中的1个_R_Ggplot2_Colors_Geom Bar - Fatal编程技术网

R ggplot2比例条形图:每个条形图只显示17个级别中的1个

R ggplot2比例条形图:每个条形图只显示17个级别中的1个,r,ggplot2,colors,geom-bar,R,Ggplot2,Colors,Geom Bar,我是R和SO的新手,非常感谢您在这方面提供的任何帮助 我有一个17级的系数类数据。我正在使用库(ggplot2)和geom_-bar(position=“fill”)创建比例条形图。代码和输出/绘图如下所示 基本上,它是好的,除了我想能够做的是创建17个以上的这些绘图,以突出其中一个级别(即其中一种颜色)保持不变,其余的将变灰,以区分一个级别与其他级别。因为共有17个级别,而且颜色非常相似,所以现在很难区分某些级别 我希望这是有意义的——乐意编辑并提供更多信息。我很感激在这个问题上有任何建议或帮

我是R和SO的新手,非常感谢您在这方面提供的任何帮助

我有一个17级的
系数
类数据。我正在使用
库(ggplot2)
geom_-bar(position=“fill”)
创建比例条形图。代码和输出/绘图如下所示

基本上,它是好的,除了我想能够做的是创建17个以上的这些绘图,以突出其中一个级别(即其中一种颜色)保持不变,其余的将变灰,以区分一个级别与其他级别。因为共有17个级别,而且颜色非常相似,所以现在很难区分某些级别

我希望这是有意义的——乐意编辑并提供更多信息。我很感激在这个问题上有任何建议或帮助。非常感谢你


代码 情节 编辑/复制示例 我还试图建立一个可复制的例子,似乎这里可能有问题:

    # data
d <- as.POSIXct(
  c("2020-01-01", "2020-01-01","2020-01-01", 
    "2020-01-02", "2020-01-02", "2020-01-02", 
    "2020-01-03", "2020-01-03", "2020-01-03"))

t <- as.factor(
  c("ATopic", "BTopic", "CTopic",
    "CTopic", "BTopic", "BTopic",
    "CTopic", "ATopic", "BTopic"))

df <- data.frame(d, t)

# the plot
df %>% 
  ggplot(aes(x = d, fill = factor(t))) +
  geom_bar(position = "fill", stat = "count") 

##E rror line: position_stack requires non-overlapping x intervals
以下是输出:

我认为使用
gghighlight
(结合
facet\u wrap
)会满足您的需要

这里是一个使用
iris
数据集绘制每个物种萼片宽度与萼片长度函数的示例。在这里,我使用了
facet\u wrap
来分离每个物种,并
gghighlight
,以便一次只显示一个物种的颜色

库(ggplot2)
图书馆(GG)
ggplot(鸢尾,aes(x=萼片长度,y=萼片宽度,颜色=种))+
几何点()+
面_包装(~种)+
gghighlight()

它回答了你的问题吗


如果没有,请考虑提供一个数据集的可重复的例子()

绝对。这正是我想要的。非常感谢@dc37!接受答案和+1。我在
p.forum
上尝试了这一点,共有17个级别。当我这样做时,我就失去了其他层次的上下文。这和geom_酒吧不同吗?同时,我将尝试提供一个可复制的示例。示例添加到post中。我是在你的帮助下得到的!再次感谢你的建议,我不知道@DC37很高兴我的回答能帮助您找到问题的解决方案;)
    # data
d <- as.POSIXct(
  c("2020-01-01", "2020-01-01","2020-01-01", 
    "2020-01-02", "2020-01-02", "2020-01-02", 
    "2020-01-03", "2020-01-03", "2020-01-03"))

t <- as.factor(
  c("ATopic", "BTopic", "CTopic",
    "CTopic", "BTopic", "BTopic",
    "CTopic", "ATopic", "BTopic"))

df <- data.frame(d, t)

# the plot
df %>% 
  ggplot(aes(x = d, fill = factor(t))) +
  geom_bar(position = "fill", stat = "count") 

##E rror line: position_stack requires non-overlapping x intervals
library(gghighlight)
df %>% 
  ggplot(aes(x = factor(d), fill = factor(t))) +
  geom_bar(position = "stack", stat = "count") +
  facet_wrap(~t) +
  gghighlight()