R ggplot2:如何修复分类变量的“挤压”y轴?

R ggplot2:如何修复分类变量的“挤压”y轴?,r,ggplot2,data.table,axes,R,Ggplot2,Data.table,Axes,我正在尝试增加此条形图中y轴上标签的间距: library(data.table) ggplot(data, aes(y=values, x=categories)) + geom_bar(stats="identity") +coord_flip() 当然,问题是大约有1500个y轴分类标签。目前,这些数据被挤在一起,我们看不到数据中的任何趋势 如何增加这些y轴标签之间的间距?我可以把情节垂直放大吗 当然,人们可以减少文本大小或减少栏的宽度,但这只能在一定

我正在尝试增加此条形图中y轴上标签的间距:

library(data.table)    
ggplot(data, aes(y=values, x=categories)) + 
             geom_bar(stats="identity") +coord_flip()
当然,问题是大约有1500个y轴分类标签。目前,这些数据被挤在一起,我们看不到数据中的任何趋势

如何增加这些y轴标签之间的间距?我可以把情节垂直放大吗

当然,人们可以减少文本大小或减少栏的宽度,但这只能在一定程度上起作用

我已经用?离散_标度尝试了以下解决方案:


然而,摆弄expand似乎并没有在这些标签之间实际创建空间

这里真的没有一个巧妙的答案。如果你有一个8英寸高的图像和1500行文字,文字要么重叠严重,要么很小。无论如何,它都不可读。一个选项是只关闭y标签。themeaxis.ticks.y=element\u blank,axis.text.y=element\u blank。注意:根据坐标翻转,您可能需要将其更改为axis.ticks.x和axis.text.x。另一个选项是对数据集进行采样。不绘制所有内容,只绘制随机选择的100行。ggplotdata[sampledimdata[1],100],aes

如果你真的想要每一个标签,每一行数据,第三个选择就是制作一个非常高的图像

pdf(file = "image.pdf", width = 8, height = 120)
g <- ggplot(data, aes(y = values, x = categories)) + 
  geom_bar(stats="identity") + 
  coord_flip()
print(g)
dev.off()

我懂了。我想唯一的办法是增加绘图的大小。谢谢你的澄清!我感谢你的帮助。
pdf(file = "image.pdf", width = 8, height = 120)
g <- ggplot(data, aes(y = values, x = categories)) + 
  geom_bar(stats="identity") + 
  coord_flip()
print(g)
dev.off()