ggplot2绘制美美的面积图
绘制 ggplot2 面积
2023-06-13 09:13:01 时间
❝本节来介绍如何对常见的柱状图稍加改造绘制成一张美观的面积图,下面通过一个小例子来进行展示;
加载R包
library(tidyverse)
library(ggtext)
导入数据
df <- read_tsv("data.xls")
数据筛选
❝此处根据关键词将数据分为上下两个部分 ❞
wet_df <- df %>%
filter(str_starts(code, 'W')) %>%
mutate(mean_probability = mean_probability * -1)
drought_df <- df %>% filter(str_starts(code, 'D'))
数据可视化
drought_df %>%
ggplot(aes(x = year, y = mean_probability, fill = legend_text)) +
geom_area(alpha = 0.95)+ # 也可使用 geom_col()来绘制条形图
geom_line(position = "stack", size = 0.1,
color = 'gray40') + # 给面积添加灰色轮廓
geom_area(data = wet_df, alpha = 0.95) +
geom_line(data = wet_df, position = "stack", size = 0.1, color = 'gray40')+
scale_x_continuous(expand= c(0,0), breaks=seq(1895,2022,25),
limits=c(1895,2022),position = 'top')+
scale_y_continuous(expand = c(0.05, 0.05),breaks = seq(0, 100, 25))+
scale_fill_manual(values = c("#BA7A70","#9D4E3F","#7D2D1E","#621B0B","#421401","#829BAB",
"#568199","#35627F","#1D4866","#0A2D46")) +
guides(fill = guide_legend(nrow = 2,byrow = TRUE))+
labs(x=NULL,y =NULL) +
theme_minimal()+
theme(
plot.background= element_rect(fill = "#ecebec", color = "#ecebec"),
panel.background= element_rect(fill = "#ecebec", color = "#ecebec"),
legend.position = 'bottom',
legend.title= element_blank(),
legend.text = element_text(size =9,color="black"),
legend.background = element_rect(fill="#ecebec", color = "#ecebec"),
panel.grid= element_blank(),
plot.margin=margin(50,20,50,20),
axis.line.x=element_line(color="gray40", size = 1),
axis.ticks.x=element_line(color="gray40"),
axis.text.y=element_blank(),
axis.text.x=element_text(color="black"))
相关文章
- ggplot2优雅绘制环状华夫图
- html css制作404页面,CSS3绘制404页面
- flutter绘制系列
- ggplot2优雅的绘制森林图
- ggplot2优雅的绘制圆点柱状图
- 绘制自己的人际关系图简单_网络给人际关系带来的影响
- R 绘制交互式地图 Mapview
- 如何用Python代码绘制赏月美景?
- 软件测试|不会吧,你还不知道用pillow绘制图像?
- 跟着BioRxiv学作图:R语言ggalluvial包绘制桑基图
- 使用 ggplot2 绘制比较各省份及其区县的详细数据
- 【MATLAB】三维图形绘制 ( 绘制球面 | sphere 函数 | 设置光源 | light 函数 | 相机视线 | view 函数 )
- AI绘制版《漠河舞厅》MV火了,网友:感觉AI读懂了歌词
- MongoDB绘制图表:从数据库中发现规律(mongodb图表)