为了账号安全,请及时绑定邮箱和手机立即绑定

使用ggplot 2,我可以在轴上插入一个断点吗?

使用ggplot 2,我可以在轴上插入一个断点吗?

波斯汪 2019-07-12 10:55:48
使用ggplot 2,我可以在轴上插入一个断点吗?我想制作一个条形图,其中一个值比所有其他值都大得多。有不连续y轴的方法吗?我的数据如下:df <- data.frame(a = c(1,2,3,500), b = c('a1', 'a2','a3', 'a4'))p <- ggplot(data = df, aes(x = b, y = a)) + geom_bar() p  <- p + opts(axis.text.x=theme_text(angle= 90, hjust=1))  + coord_flip()p有什么方法可以让我的轴从1-10,然后490-500开始运行吗?我想不出任何其他方法来绘制数据(除了转换数据,这是我不想做的)。[编辑2019-05-06]:8年后,需要对上述代码进行修改,使其与ggplot2为了创建相同的图表:library(ggplot2)ggplot(df) +    aes(x = b, y = a) +   geom_col() +   coord_flip()
查看完整描述

3 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

正如其他地方所指出的,这不是ggplot2会处理得很好,因为断轴通常被认为是有问题的。

其他战略往往被认为是解决这一问题的更好办法。Brian提到了一些(面见,两幅侧重于不同价值观集的情节)。人们经常忽略的另一个选择,尤其是条形图,是做一个:


从实际值来看,500并不掩盖其他值之间的差异!由于某些原因,表作为数据(一种可视化技术)没有得到足够的尊重。您可能会反对您的数据有很多类别,这些类别在表中变得难以处理。如果是这样的话,你的条形图可能会有太多的条形图,这也是不明智的。

我不是为了桌子而争论时间。但如果你用相对较少的酒吧制作条形图的话,它们绝对是值得考虑的。如果你用大量的条子制作条形图,你可能需要重新考虑一下。

最后,还有axis.break函数中的plotrix实现断轴的包装。然而,根据我收集的信息,您必须亲自指定轴标签和位置。


查看完整回答
反对 回复 2019-07-12
  • 3 回答
  • 0 关注
  • 1067 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信