如何解决将单词之间的换行符添加到 ggplot 中的轴标签
我正在寻找一种方法来为我的 x 轴标签添加换行符,因为它们目前太长了。
这是我的几个图之一的代码:
PortR_plot = ggplot(data=PortR,mapping = aes(x=Energy.Type,y=Scaled.score,fill=Energy.Type))
+ labs(title="Portfolio R",x=('Energy Type'),y=('Scaled score'))
PortR_plot + geom_Boxplot()+ scale_x_discrete(limits=c('Battery storage','Geothermal','Onshore Wind','Pumped Storage','Run of River Hydro','Small Storage Hydro','Solar'))
+ ylim(0,1)+ theme(text = element_text(size = 20))
我知道您可以使用 scale_x_discrete 添加中断 (\n) 但我已经在使用 scale_x_discrete 来显示原始数据集 (PortR) 中没有的空能量类型,因此当我在那里添加换行符时,例如:
scale_x_discrete(limits=c('Battery \n storage',etc etc
它不起作用,因为它与数据集中的能量类型名称不匹配。
我尝试了 the method from this blog,但没有产生任何明显的变化。
任何帮助将不胜感激!
编辑:添加数据样本
structure(list(Project = c("Batt_1","Wind_2","Wind_3","Wind_4","Wind_5","Wind_6","Wind_7","Wind_8","Wind_9","Hydro_1","Hydro_2","Hydro_3"),Energy.Type = c("Battery storage","Onshore Wind","Small Storage Hydro","Small Storage Hydro"
),Scaled..T.FW. = c(0,1.29,1.19,0.69,1.14,0.11,0.9,0.52,1.02,0.85,0.83,0.31)),row.names = c(NA,-12L),class = "data.frame")
Edit2:我想我可能在导入到 R 之前通过在 excel 中添加中断(alt+enter)来强制解决方案。仍然有兴趣了解 R 中的解决方案。
Edit3:我尝试做 Ronak 展示的内容,但是当我尝试通过 scale_x_discrete(limits) 在 x 轴上添加其他能量类型时,我得到了一个空白图。
解决方法
您可以使用 stringr::str_wrap
来包装 x 轴文本。您可以根据自己的选择更改 width
的 str_wrap
参数。
library(ggplot2)
ggplot(df,aes(x = stringr::str_wrap(Energy.Type,10),y=Scaled..T.FW.,fill=Energy.Type)) +
geom_boxplot() +
labs(title="All Projects",x= 'Energy Type',y= 'Scaled Score')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。