【问题标题】:How to add space between text at x-axis using ggplot package?如何使用 ggplot 包在 x 轴的文本之间添加空格?
【发布时间】:2020-09-18 15:27:17
【问题描述】:

使用 ggplot 包,我创建了以下条形图:

ggplot(my_data, aes(x = my_data$"ERP implementé", fill = my_data$"détectabilité")) +  geom_bar(width=0.1 , position = position_dodge(width=0.5)) +  labs(y = "fréquence de détectabilité", fill = "détectabilité", x = "ERP", title = "Fréquence de détectabilité / type d'ERP")

输出如下:

问题出在 x 轴上,如何在 x 轴上的文本标签之间添加足够的空间以使其可读?

levels(factor(my_data$"ERP implementé"))

 [1] "Aucun"                "Développé en interne" "IBM"                  "IFS"                 
 [5] "M3"                   "Microsoft Dynamics"   "Odoo (Open ERP)"      "ORACLE"              
 [9] "QAD"                  "SAGE"                 "SAP" 

希望我的问题对你来说很清楚,提前感谢你的帮助!

【问题讨论】:

  • 你的意思是旋转文本吗?如果是这样,请添加theme(axis.text.x = element_text(angle = 60, hjust = 1, vjust = 1) 如果您只想在文本和轴之间添加一个空格,请添加xlab("\nERP")
  • @TheSciGuy,是的,文本应该是可读的!就这样 !问题已经解决了,问题可以结束了!谢谢你的帮助!

标签: r ggplot2


【解决方案1】:

一种选择是使用标签的方向角度,如下所示:

#Code
ggplot(my_data, aes(x = my_data$"ERP implementé", fill = my_data$"détectabilité")) + 
  geom_bar(width=0.1 , position = position_dodge(width=0.5)) + 
  labs(y = "fréquence de détectabilité", fill = "détectabilité",
       x = "ERP", title = "Fréquence de détectabilité / type d'ERP")+
  theme(axis.text.x = element_text(angle=90))

第二种选择是像这样躲避你的轴标签:

#Code 2
ggplot(my_data, aes(x = my_data$"ERP implementé", fill = my_data$"détectabilité")) + 
  geom_bar(width=0.1 , position = position_dodge(width=0.5)) + 
  labs(y = "fréquence de détectabilité", fill = "détectabilité",
       x = "ERP", title = "Fréquence de détectabilité / type d'ERP")+
  scale_x_discrete(guide = guide_axis(n.dodge=2))

由于缺乏可重复的数据,没有提供输出。

【讨论】:

  • 是的,这解决了问题!我也尝试改变情节方向。问题可以认为已经解决了!感谢您的宝贵帮助!
【解决方案2】:

一种可能的解决方案是:

ggplot(my_data, aes(x = my_data$"ERP implementé", fill = my_data$"détectabilité")) +  geom_bar(width=0.1 , position = position_dodge(width=0.5)) +  labs(y = "fréquence de détectabilité", fill = "détectabilité", x = "ERP", title = "Fréquence de détectabilité des problèmes selon type d'ERP")+coord_flip()

甚至在 cmets 中提到:

ggplot(my_data, aes(x = my_data$"ERP implementé", fill = my_data$"détectabilité")) + 
  geom_bar(width=0.1 , position = position_dodge(width=0.5)) + 
  labs(y = "fréquence de détectabilité", fill = "détectabilité",
       x = "ERP", title = "Fréquence de détectabilité / type d'ERP")+
  theme(axis.text.x = element_text(angle=90))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    相关资源
    最近更新 更多