R可视化之美之科研绘图-26.千变万化的气泡图
2022-08-30 本文已影响0人
科研私家菜
本内容为【科研私家菜】R可视化之美之科研绘图系列课程
快来收藏关注【科研私家菜】
01 气泡图
气泡图是一种多变量图表,是散点图的变体,也可以认为是散点图和百分比区域图的组合。气泡图最基本的用法是使用三个值来确定每个数据序列,和散点图一样,气泡图将两个维度的数据值分别映射为笛卡儿坐标系上的坐标点,其中X轴和Y轴分别代表不同的两个维度的数据,但是不同于散点图的是,每个气泡的面积代表第三个维度的数据。气泡图通过气泡的位置及面积大小,可分析数据之间的相关性。
需要注意的是,圆圈状气泡的大小是映射到面积( circle area)而不是半径( circle radius) 或者直径( circle diameter )绘制的。因为如果是基于半径或者直径,那么圆的大小不仅会呈指数级变化,而且还会导致视觉误差。
02 带数据标签的气泡图
library(ggplot2)
library(RColorBrewer)
library(ggrepel)
attach(mtcars)
ggplot(data=mtcars, aes(x=wt,y=mpg))+
geom_point(aes(size=disp,fill=disp),shape=21,colour="black",alpha=0.8)+
scale_fill_gradient2(low="#377EB8",high="#E41A1C",midpoint = mean(mtcars$disp))+
geom_text_repel(label = disp )+
scale_size_area(max_size=12)+
guides(size = guide_legend((title="Value")),
fill = guide_legend((title="Value")))+
theme(
legend.text=element_text(size=10,face="plain",color="black"),
axis.title=element_text(size=10,face="plain",color="black"),
axis.text = element_text(size=10,face="plain",color="black"),
legend.position = "right"
)
效果如下:
03 方块状的气泡图
ggplot(mtcars, aes(wt,mpg))+
geom_point(aes(size=disp,fill=disp),shape=22,colour="black",alpha=0.8)+
scale_fill_gradient2(low=brewer.pal(7,"Set1")[2],high=brewer.pal(7,"Set1")[1],
midpoint = mean(mtcars$disp))+
scale_size_area(max_size=12)+
guides(fill = guide_legend((title="Value")),
size = guide_legend((title="Value")))+
theme(
text=element_text(size=15,color="black"),
plot.title=element_text(size=15,family="myfont",face="bold.italic",color="black")#,
#legend.position=c(0.9,0.05)
)
效果如下:
参考资料
《R语言数据可视化之美》
关注R小盐,关注科研私家菜(溦❤工众號: SciPrivate),有问题请联系R小盐。让我们一起来学习 R可视化之美之科研绘图