R可视化之美之科研绘图-26.千变万化的气泡图

本内容为【科研私家菜】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可视化之美之科研绘图

你可能感兴趣的:(R可视化之美之科研绘图-26.千变万化的气泡图)