如何修改ggplot2图例中的线条尺寸?仅调整图例线条大小的方法
解决ggplot2仅修改图例中线条大小的问题
在ggplot2里用geom_line(size=2)时,绘图区域和图例的线条尺寸会一起变化。要单独调整图例的线条大小,核心是通过guides()函数的override.aes参数,覆盖图例的美学设置,不影响绘图区域的线条。
修改后的代码示例
library(tidyverse) plot_data <- data.frame(my_date= seq.Date(as.Date('2023-1-1'), as.Date('2023-12-31'),'1 day'), my_value=rnorm(365)) %>% mutate(my_month = lubridate::month(my_date)) plot_data %>% ggplot(aes(x = my_date,y=my_value, color= factor(my_month))) + geom_line(size=2)+ # 控制绘图区域的线条大小 guides(color = guide_legend(nrow=1,title='月份', override.aes = list(size = 4)))+ # 单独设置图例的线条大小 theme(legend.position = 'top')
关键说明
geom_line(size=2):负责设置绘图区域内线条的尺寸,保留你需要的展示效果。override.aes = list(size = 4):在图例的引导设置里,单独指定图例线条的尺寸(数值可按需调整),不会改变绘图区域的线条大小。
这样就能实现绘图区域线条大小不变,仅调整图例线条尺寸的效果。
内容的提问来源于stack exchange,提问作者anderwyang
相关产品推荐
相关产品推荐

