R绘图 | 气泡散点图+拟合曲线

简介: R绘图 | 气泡散点图+拟合曲线

绘制

rm(list = ls())
library(ggpubr)
library(ggprism)
library(paletteer)
plot_df = read.csv('plot_df.csv')
## 设置主题
rel_size <- 1
my_theme <- theme_prism(border = TRUE, 
                        base_size = 5) +
  theme(strip.text.x = element_text(size = rel(rel_size*2)),
        title = element_text(size = rel(rel_size*2)),
        legend.box.spacing = unit(1, "cm"),
        legend.text = element_text(size = rel(rel_size*1.5)),
        legend.title = element_text(size = rel(rel_size*0.5)),
        axis.text.y = element_text(size = rel(rel_size*2), angle = 0, vjust = 0.2),
        axis.text.x = element_text(size = rel(rel_size*1.6), angle = 45),
        panel.grid = element_line(color = "gray",
                                  size = 0.15,
                                  linetype = 2),
        panel.spacing = unit(1, "lines"),
        plot.caption = element_text(size = rel_size*8)) 
# 绘图
p <- ggplot(plot_df, aes(x = log10(mean_gdp_per_capita), y = mean_access_perc)) + 
  # coord_trans("log10") +
  geom_point(data = plot_df, aes(size = mean_death_perc, fill = continent), pch = 21) +
  geom_smooth(method = "loess") +
  scale_fill_paletteer_d("colorblindr::OkabeIto") +
  ggpubr::stat_cor(method = "spearman", 
                   aes(label = paste(..rr.label.., ..p.label.., sep = "~")), 
                   color = "red", geom = "label", label.x = 3.8, label.y = 5) +
  # facet_wrap(vars(continent),drop = TRUE) +
  scale_y_continuous(breaks = c(0, 25, 50, 75, 100)) + 
  my_theme +
  ggtitle("Access to clean energy is associated with GDP") +
  labs(x = "Log10 of Average GDP per capita",
       y = "Average % access to clean fuels/tech",
       fill = "Continent", 
       size = "Average % Death",
       caption = "Spearman correlation\nAveraged values over years 1990-2019\nData source: OurWorldInData.org")
p
ggsave(plot = p, filename = 'week1.pdf',width = 5,height = 4)


参考


https://github.com/nicholas-camarda/tidytuesda


相关文章
|
算法 测试技术 C++
C++算法:柱状图中最大的矩形
C++算法:柱状图中最大的矩形
|
2月前
threeJs绘制曲线
这篇文章讲解了如何使用Three.js中的CatmullRomCurve3来绘制平滑的曲线,并提供了实现的代码示例。
37 3
threeJs绘制曲线
|
1月前
|
编解码 数据可视化 数据挖掘
matplotlib绘制三维曲面图时遇到的问题及解决方法
本文详细介绍了在使用Matplotlib绘制三维曲面图时可能遇到的问题及其解决方法。从数据维度匹配到颜色映射,从图形显示到保存,涵盖了常见的各种情况。通过正确处理这些问题,可以确保生成高质量的三维可视化图形,为数据分析和展示提供有力支持。希望本文对您在使用Matplotlib进行三维绘图时有所帮助。
30 0
|
3月前
|
数据可视化 数据挖掘 Python
绘制带误差分析的柱状图
【9月更文挑战第1天】在数据分析与科研中,带误差分析的柱状图能直观展示数据分布与不确定性。本文介绍使用Python的Matplotlib库和Excel绘制此类图表的方法,包括安装库、准备数据、绘制图表及添加误差线等步骤,帮助用户根据需求进行调整与定制。
|
4月前
|
数据可视化 C# 开发者
用C#实现最小二乘法(用OxyPlot绘图)
用C#实现最小二乘法(用OxyPlot绘图)✨
102 1
|
4月前
|
缓存 算法 前端开发
热力图生成算法及其具体实现
热力图生成算法及其具体实现
77 0
|
数据可视化
R|散点图+边际图(柱形图,小提琴图),颜值区UP
R|散点图+边际图(柱形图,小提琴图),颜值区UP
158 0
|
数据挖掘
ggplot2| 绘制KEGG气泡图
ggplot2| 绘制KEGG气泡图
447 0
|
数据挖掘
ggplot2|从0开始绘制箱线图
ggplot2|从0开始绘制箱线图
180 0
|
数据可视化 数据处理
分面中添加不同的直线
分面中添加不同的直线
150 0