我有一个数据框,其中包含不同类别的(最小,最大)值,例如:
<script>
$('.chatbox-emoji-trigger').click(function() {
$(this).append(("<%= escape_javascript(render('shared/emoji_modal')) %>"));
});
</script>
我想制作一个图表,其中,对于每个类别,只绘制一个底部和顶部有短水平线段的垂直线段:它看起来像一个误差条,但它没有中心点。但是,如果有必要,我可以接受中心点。必须使用相应的类别名称标记每个段,如框图的框:
case1 case2
1 0.8945 0.8943867
2 0.8950 0.8952849
但是条形图的外观必须是boxplot(df,cex.axis=1.5)
,plotCI
等函数的外观:
segments
这看起来不错,但x轴是数字,而我需要x轴上的类别名称。此外,我不喜欢这些酒吧彼此相距太远,并且非常接近情节边缘。是不是可以把它们放在靠近中心的位置,就像箱子的盒子一样?
答案 0 :(得分:2)
您至少有两种可能性:
没有ggplot2
:
require(plotrix)
plotCI(apply(df,2,mean),li=df[1,],ui=df[2,],xlab="categories",ylab="values")
axis(side = 1, at = c(1,2), labels = c("case1", "case2"))
ggplot2
:首先重新定义您的data.frame
:
df2 = data.frame(vmin = c(0.8945, 0.8943867), vmax=c(0.8950, 0.8952849), case=c("case1", "case2"))
然后,使用geom_errorbar
library(ggplot2)
p <- ggplot(df2, aes(ymin = vmin, ymax = vmax, x = case))
p + geom_errorbar()