R-ggplot2 绘制带颜色条的相关性散点图

公众号后台回复“图书“,了解更多号主新书内容

 作者:宁海涛

 来源:DataCharm

一个月的备考终于结束了,公号的推文也会陆续进行原创推文制作,也希望大家继续支持哦!本期推文就介绍一篇关于使用ggplot2 绘制带有颜色映射的相关性散点图,本期涉及的知识点如下:

  • stat_bin_2d()绘制密度颜色映射

  • geom_smooth() 绘制拟合线

颜色映射相关性散点图绘制

这里大部分和推文R-ggplot2 学术散点图绘制 中的绘图技巧一样,下面我直接给出代码,如下:

#绘图 + 颜色
library(tidyverse)
library(RColorBrewer)
library(ggthemes)

palette<-brewer.pal(11,"Spectral")
plot2 <- ggplot(data = scatter_data,aes(x = true_data,y = model01_estimated)) +
     stat_bin_2d(binwidth = c(.012,.012))+
     scale_fill_gradientn(colours = rev(palette),limits=c(0,40), breaks=c(0,10,20,30,40),
                         labels=c("0","10",'20','30','>40'))+
     #绘制拟合线并设置为红色
     geom_smooth(method = 'lm',se = F,color='red',size=1)+
     #绘制对角线
     geom_abline(slope = 1,intercept = 0,color='black',linetype = "dashed",size=1) +
     scale_x_continuous(limits = c(-.1,2),expand = c(0,0))+
     scale_y_continuous(limits = c(-.1,2),expand = c(0,0))+
     guides(fill = guide_colorbar(title = "Counts", title.position = "top",title.hjust = .5,ticks = T))+
     labs(x ='True Values',y="Model Estimated Value",
          title = "The scatter chart of Train data and Tset data",
          subtitle = "scatter R-ggplot2 Exercise",
          caption = 'Visualization by DataCharm')+
     #theme_classic()+
     theme(text = element_text(family = "Times_New_Roman",face='bold'),
           axis.text = element_text(family = 'Times_New_Roman',size = 12,face = 'bold'),
           #修改刻度线内
           axis.ticks.length=unit(-0.22, "cm"), 
           #加宽图边框
           #panel.border = element_rect(size=1),
           axis.line = element_line(size = .8),
           axis.ticks = element_line(size = .8),
           #去除图例标题
           #legend.title = element_blank(),
           #设置刻度label的边距
           axis.text.x = element_text(margin=unit(c(0.5,0.5,0.5,0.5), "cm")), 
           axis.text.y = element_text(margin=unit(c(0.5,0.5,0.5,0.5), "cm")))
     
plot2
  • 知识点01:使用stat_bin_2d(binwidth = c(.012,.012)) 设置颜色映射属性

  • 知识点02:使用geom_smooth(method = 'lm',se = F,color='red',size=1),设置se = F,绘制拟合线。

最终,得到的可视化结果如下:

这里提一下,由于绘制的数据较少,可能导致绘制的结果不太美观,当然,在数据足够多的情况下,你也可以绘制出如下的相关性散点图:

(图中colorbar的位置、字体都是可以自由设置的啊)

总结

使用R-ggplot2绘制学术图表确实可以避免Python-matplotlib需要自定义设置问题,提高绘图效率。大家在绘制图表时,可以根据而自己喜好自由选取喜欢的绘图工具啊。

◆ ◆ ◆  ◆ ◆
麟哥新书已经在京东上架了,我写了本书:《拿下Offer-数据分析师求职面试指南》,目前京东正在举行100-40活动,大家可以用相当于原价5折的预购价格购买,还是非常划算的:


数据森麟公众号的交流群已经建立,许多小伙伴已经加入其中,感谢大家的支持。大家可以在群里交流关于数据分析&数据挖掘的相关内容,还没有加入的小伙伴可以扫描下方管理员二维码,进群前一定要关注公众号奥,关注后让管理员帮忙拉进群,期待大家的加入。

管理员二维码:


猜你喜欢

● 卧槽!原来爬取B站弹幕这么简单● 厉害了!麟哥新书登顶京东销量排行榜!● 笑死人不偿命的知乎沙雕问题排行榜
● 用Python扒出B站那些“惊为天人”的阿婆主!● 你相信逛B站也能学编程吗
  • 8
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值