R中使用ggplot2修改文本与geom_area填充色为#795fc6的问题
代码调整说明
你原有代码的参数位置错误导致配色不生效,调整逻辑如下:
- 固定填充色不需要写在
aes()内:aes()内的fill参数是用来映射数据变量的,要全局固定geom_area的填充色,直接把fill = "#795fc6"写在geom_area()的参数里即可,移除原来aes()里的fill=0.1无效配置。 - 文本颜色要在
theme()中设置:axis.text.x、坐标轴标题、图表标题的颜色配置都属于主题参数,不能放在geom或labs里,统一在theme_minimal()之后追加对应配置即可。 labs里设置col参数不生效,可直接移除该配置。geom_vline的x截距不需要转成numeric,直接用日期格式匹配x轴更稳妥。
修正后完整代码
# 先确认analysis_date是日期格式,避免x轴显示异常 DatasetApp$analysis_date <- as.Date(DatasetApp$analysis_date) ggplot(data = DatasetApp, aes(x=analysis_date)) + # binwidth=1对应按日统计观测数,符合你的y轴需求 geom_area(stat="bin", fill = "#795fc6", binwidth = 1) + labs(x="Date",y="Number of Observations", title = "Number of observations pre and post GDPR")+ geom_vline(xintercept = as.Date(DatasetApp$analysis_date[GDPR_date]), color="#5034c4")+ theme_minimal() + # 统一设置所有文本为目标色值#795fc6,不需要的文本样式可自行删除 theme( axis.text.x = element_text(color = "#795fc6"), axis.text.y = element_text(color = "#795fc6"), axis.title = element_text(color = "#795fc6"), plot.title = element_text(color = "#795fc6") )
内容的提问来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

