如何避免在条形图中堆叠名称?

How to avoid stacking names in the barplot?

我正在 ggplot2 中制作条形图,其中 "country" 与 "suicides per 100,000 people" 进行比较。我的问题是图中的国家/地区名称堆叠在一起。

过去,我尝试在 python 中使用 seaborn 和 matplotlib,代码如下:

import seaborn as sns
import matplotlib.pyplot as plt
plt.figure(figsize=(20,50))
y = data['country']
sns.set_context("paper", 2.5, {"lines.linewidth": 4})
sns.countplot(y=y,label='count')

我强调这一点是因为变量 'country' 也隐含在图中并且效果很好,但现在在 R 中我找不到类似的解决方案。

barplot 与 seaborn 和 matplotlib

ggplot(country, aes(x = country, y = suicide_per_100k, fill = continent)) + 

geom_bar(stat = "identity") + 

geom_hline(yintercept = global_average, linetype = 2, color = "grey35", 
size = 1) +

labs(title = "Global suicides per 100k, by Country",
       x = "Country", 
       y = "Suicides per 100k", 
       fill = "Continent") +

coord_flip() +

scale_y_continuous(breaks = seq(0, 45, 2)) + 

theme(legend.position = "bottom")

希望输出的国家名称均匀分布,如下图:

但实际输出如下:

看起来你的国家名称在他们的轴上太局促了。您是否尝试过以更大的高度导出图像?

当我以 1200 x 400 的比例导出此图时出现重叠问题:

但是当我以 1200 x 700 导出它时看起来更好。

希望对您有所帮助。如果是这样,那应该很容易解决。您也可以尝试调整 y 轴上的字体大小。只需添加:

theme(axis.text.y = element_text(size=12))

使用您需要的任何字体大小。