gpt4 book ai didi

r - 在 ggplot 中向轴标签和刻度添加换行符

转载 作者:行者123 更新时间:2023-12-02 04:41:05 26 4
gpt4 key购买 nike

我正在寻找一种在绘图的 x 轴上使用长变量名称的方法。当然,我可以使用较小的字体或稍微旋转它们,但我希望保持它们垂直且可读。

举个例子:

df <- data.frame(a=LETTERS[1:20], b=rnorm(20), c=rnorm(20), d=rnorm(20))
df_M <- melt(df, id="a")
plot <- ggplot(data=df_M,
aes(x=variable, y=a, fill=value)) +
geom_tile() +
scale_fill_gradient(low="green", high="red")
plot

这里的 x 轴只是字母,但如果我想使用全名,这些名称会使用不成比例的空格:

    plot +  
theme(axis.text.x=element_text(angle=90)) +
scale_x_discrete(breaks=unique(df_M$variable),
labels=c("Ambystoma mexicanum",
"Daubentonia madagascariensis",
"Psychrolutes marcidus"))

所以我想在标签中换行。最好是在 ggplot2 中,但当然也欢迎其他解决方案。

谢谢!

最佳答案

您可以添加自己的格式化程序(有关更多示例,请参阅 scales 包)。在这里,我用新行替换 x 标签中的所有空格。

addline_format <- function(x,...){
gsub('\\s','\n',x)
}

myplot +
scale_x_discrete(breaks=unique(df_M$variable),
labels=addline_format(c("Ambystoma mexicanum",
"Daubentonia madagascariensis", "Psychrolutes marcidus")))

enter image description here

关于r - 在 ggplot 中向轴标签和刻度添加换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20123147/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com