如何解决多种颜色+更改geom_ribbon图的线宽
我已经使用geom_ribbon
创建了一个ggplot2
图。是否可以1)更改外边缘线的粗细,2)更改我的时间序列中选定部分的颜色(例如,更改最后6个月的颜色)?
我在下面附加了我的代码
ggplot(data,aes(Date,`Household PSCE`)) +
geom_ribbon(aes(ymin = min(`Household PSCE`),ymax = `Household PSCE`),fill = '#75002B',alpha = 1,col = 'black') +
scale_x_date(breaks = seq(as.Date('2018-01-01'),as.Date('2020-12-01'),by = '6 months'),date_labels = '%b-%Y') +
labs(y = 'Level') +
theme_bw()
这是数据集data
structure(list(Date = structure(c(17532,17563,17591,17622,17652,17683,17713,17744,17775,17805,17836,17866,17897,17928,17956,17987,18017,18048,18078,18109,18140,18170,18201,18231,18262,18293,18322,18353,18383,18414,18444,18475,18506,18536,18567,18597),class = "Date"),`Household PSCE` = c(51858.04129,52195.20397,52348.49916,52540.88475,52832.84411,52812.54252,53177.25125,53423.63896,53675.11686,54041.83913,54540.90246,54931.22325,54813.24518,55210.09153,55152.27409,55583.02852,55852.93463,54494.31422,56314.50793,56642.85461,56539.32725,57371.15939,57805.9399,57920.87829,58668.00067,58935.24029,59148.7084,58732.7,58775.2,58895.9,59292.5270393218,59608.3436961823,60076.0417060765,60499.0790861517,60830.7452080675,61144.2149262431
)),row.names = c(NA,-36L),class = c("tbl_df","tbl","data.frame"
))
解决方法
您可以执行以下两项操作:
# add a flag for if it was in the last 6 months
data$last_6m <- ifelse(data$Date > max(data$Date)-182.5,'Y','N')
# put the fill argument inside the aes() function
# put the size argument outside the aes() function
ggplot(data,aes(Date,`Household PSCE`)) +
geom_ribbon(aes(ymin = min(`Household PSCE`),ymax = `Household PSCE`,fill = last_6m),size = 2,col = 'black') +
scale_x_date(breaks = seq(as.Date('2018-01-01'),as.Date('2020-12-01'),by = '6 months'),date_labels = '%b-%Y') +
scale_fill_manual(values = c(`Y`='#75002B',`N`='yellow')) +
labs(y = 'Level') +
theme_bw()
颜色之间确实有一个白色的部分,不确定如何处理
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。