data1 %>%
ggplot(aes(x=date, y=factor(area, levels=lev), fill=value)) +
geom_tile(height=.7) +
# 在热图上添加文本
geom_text(data=data1 %>% filter(date==max(date)),
aes(x=date+.8, label=scales::percent(value, scale=1, accuracy=.01)),
size=3,hjust=1)+
# 添加注释
annotate(geom="text", size=3,hjust=.8, x=2024, y=21.8, label="2023") +
# 设置颜色渐变和标签格式
scale_fill_gradientn(colors=met.brewer("Derain"),
labels=scales::percent_format(scale=1))+
# 设置X轴和Y轴
scale_x_continuous(position="top", breaks=seq(2016,2023,1),
expand = expansion(mult = c(0,0.2))) +
scale_y_discrete(expand = expansion(mult = c(0, 0))) +
# 设置坐标轴和主题
coord_cartesian(clip="off") +
theme_minimal_vgrid(15) +
theme(panel.grid.major.x=element_line(color="grey70", size=.3),
legend.position = "top",
axis.title=element_blank(),
axis.ticks.y.left = element_blank(),
legend.title=element_blank(),
plot.margin=margin(.5,.75,.3,.5,unit="cm"),
legend.margin=margin(l=26),
axis.text.x.top = element_text(size=9,face="bold"),
axis.text.y = element_text(size=10,face="bold"),
legend.text=element_text(size=10,color="black"),
axis.line.y = element_blank()) +
# 设置颜色条指南
guides(fill=guide_colorbar(barwidth = unit(18, "lines"),
barheight = unit(.9, "lines")))