Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.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,几何图形文本和顺序_R_Ggplot2 - Fatal编程技术网

R ggplot2,几何图形文本和顺序

R ggplot2,几何图形文本和顺序,r,ggplot2,R,Ggplot2,我面临的问题很简单 我正在用Y轴上的百分比在条形图中绘制3种类型的数据,并使用数据框中的另一列为每组着色 图表如下所示: ggplot(cleaned_data, aes(x = Engine, fill = Errorcat)) + geom_bar(aes(y = (..count..)/sum(..count..))) + geom_text(aes(y = ((..count..)/sum(..count..)) - 0.5* (((..count..)/sum(..cou

我面临的问题很简单

我正在用Y轴上的百分比在条形图中绘制3种类型的数据,并使用数据框中的另一列为每组着色

图表如下所示:

ggplot(cleaned_data, aes(x = Engine, fill = Errorcat)) +
  geom_bar(aes(y = (..count..)/sum(..count..))) +
  geom_text(aes(y = ((..count..)/sum(..count..)) - 0.5*    (((..count..)/sum(..count..))) ,
                label = scales::percent((..count..)/sum(..count..))), stat = "count", vjust = -0.25, check_overlap = TRUE) +
  scale_y_continuous(labels = percent) + 
  scale_fill_discrete("Events", breaks = c("Ok", "Waiting", "Error")) +
  labs(y = "")

产生于

ggplot(cleaned_data, aes(x = Engine, fill = Errorcat)) +
  geom_bar(aes(y = (..count..)/sum(..count..))) +
  scale_y_continuous(labels = percent) + 
  scale_fill_discrete("Events", breaks = c("Ok", "Waiting", "Error")) +
  labs(y = "")
数据已按如下方式分解:
在上述注释的汇总中,以下代码将在正确的位置生成所有标签,以每个箱子为中心:

ggplot(cleaned_data, aes(x = Engine, fill = Errorcat)) +
  geom_bar(aes(y = (..count..)/sum(..count..))) +
  geom_text(aes(y = (..count..)/sum(..count..), label = scales::percent((..count..)/sum(..count..))),
            stat = "count", check_overlap = FALSE, position = position_stack(vjust = 0.5)) +
  scale_y_continuous(labels = percent) + 
  scale_fill_discrete("Events", breaks = c("Ok", "Waiting", "Error")) +
  labs(y = "")

谢谢大家。

您的因素在“事件”中的基本顺序是否与您指定的
中断的顺序不同?确实不同<在ggplot2.2.0中,代码>已清理的_数据$Errorcat您需要类似于
geom_文本(aes(y=(…计数…)/sum(…计数…),标签=刻度::百分比((…计数…)/sum(…计数…)),stat=“count”,检查_重叠=真,位置=位置_堆栈(vjust=.5))
使用您的建议:
ggplot(已清理的_数据,aes(x=引擎,fill=Errorcat))+geom_条(aes(y=(…计数…)/sum(…计数…)+geom_文本(aes(y=(…计数…)/sum(…计数…),label=scales::percent(…计数…)/sum(…计数…)),stat=“count”,check_重叠=FALSE,位置=堆栈(vjust=0.5))+scale_连续(labels=百分比)+scale_填充离散(“事件”,breaks=c(“确定”、“等待”、“错误”)+labs(y=“”)
正在接近我的目标,只是没有考虑vjust(未使用的参数)。我不知道为什么。勘误表:我刚刚更新了我的所有包,现在可以用了!!我将作为答案发布。感谢大家的支持,非常感谢。