gpt4 book ai didi

r - 在 ggplot 中对齐图例文本

转载 作者:行者123 更新时间:2023-12-02 05:08:39 24 4
gpt4 key购买 nike

我很难将图例文本向左对齐。

library(ggplot2)
library(reshape2)
o3<- rnorm(1827, 50, 10)
NO2<- rnorm(1827, 35, 7)
NOx<- rnorm(1827, 45, 10)
pm25<- rnorm(1827, 15, 4)
date<-seq(as.Date('2000-01-01'),as.Date('2004-12-31'),by = 1)
df<-data.frame(date,o3,NO2,NOx,pm25)
meltdf <- melt(df,id="date")

使用此代码,对齐方式会自动向左

ggplot(meltdf, aes(x = date, y = value, colour =variable)) + geom_smooth() + stat_smooth(method = "gam")

但是,下面的对齐方式是居中。

ggplot(meltdf, aes(x = date, y = value, colour =variable)) + 
geom_smooth() + stat_smooth(method = "gam") +
scale_color_discrete(name="Pollutant" ,labels = c(expression(O[3]),
expression(NO[2]),
expression(NO[x]),
expression(PM[2.5])))

如何实现与上一个脚本的左对齐?

最佳答案

您需要在theme()中指定legend.text.align:

ggplot(meltdf, aes(x = date, y = value, colour =variable)) + 
geom_smooth() +
stat_smooth(method = "gam") +
scale_color_discrete(name="Pollutant",
labels = c(expression(O[3]),
expression(NO[2]),
expression(NO[x]),
expression(PM[2.5]))) +
theme(legend.text.align = 0)

enter image description here

或者,尝试使用bquote而不是表达式,并且会发生默认的左对齐。我不知道为什么只使用表达式就会将对齐方式更改为右侧...

ggplot(meltdf, aes(x = date, y = value, colour =variable)) + 
geom_smooth() +
stat_smooth(method = "gam") +
scale_color_discrete(name="Pollutant",
labels = c(bquote(O[3]),
bquote(NO[2]),
bquote(NO[x]),
bquote(PM[2.5])))

关于r - 在 ggplot 中对齐图例文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26781676/

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