专栏首页气象学家Python-matplotlib 学术散点图完善

Python-matplotlib 学术散点图完善

01. 引言

上期的推文Python-matplotlib 学术型散点图绘制 推出后,很多小伙伴比较喜欢

,希望能够推出更多的类似绘制教程推文,当然,也提出了一些问题,比如 学术图表的字体设置、相关性散点图绘制线的完善,以及多图绘制等问题,本期推文就针对此问题进行一一解决。

02. 绘制上下误差线

学术性相关性散点图还需添加拟合最佳上线(upper line)和下线(bottom line),而两者的绘制依据为1:1 最佳线和误差 Δτ= ± (0.05+0.15 True data ,分别对应y=1.15×+0.05 (upper line) and y=0.85×−0.05 (bottom line)。基于此,我们绘制误差线的关键代码如下:

#用于绘制最佳拟合线
x2 = np.linspace(-10,10)
y2=x2
#绘制upper line
up_y2 = 1.15*x2 + 0.05
#绘制bottom line
down_y2 = 0.85*x2 - 0.05
#添加上线和下线
ax.plot(x2,up_y2,color='k',lw=1.5,ls='--',zorder=2)
ax.plot(x2,down_y2,color='k',lw=1.5,ls='--',zorder=2)

绘制图表结果如下:

绘制带有colorbar的误差线虚线相关性性散点图如下:

基于以上关于 线 的绘制基本上也就结束了,如果有关于其他的线绘制,后期我也会添加,或者大家提供其他所需绘制的线。

03. 修改字体

对于学术图表的字体设置,一般的期刊都是要求 数字和字母为 Times New Roman 字体,我投的期刊就是如此

,当然这也不完全统一,具体还是和所投的期刊要求有关。交流群中就有小伙伴建议更改为Arial,这里就讲解下统一修改字体,避免一一字体修改的繁琐性。修改代码关键代码如下:

#统一修改字体
plt.rcParams['font.family'] = ['Arial']

使用上述代码后,对应局部修改字体的代码就该删除。结果如下:

04. 合并多图

python-matplotlib绘制多子图的方法也比较简单,下面就将黑白散点和彩色散点图同时绘制,避免后期排版操作。具体代码如下:

结果如下:

05. 相关性散点类型

在其他论文中看到如下类型的散点图,如下:

(该图片来源于网络,如侵权,望告知删除)

python-matplotlib 绘制这类相关性散点图也比较简单,核心代码如下:

#网格设置
ax.grid(which='major',axis='y',ls='--',c='k',alpha=.7)
ax.set_axisbelow(True)
#轴脊设置
for spine in ['top','left','right']:
    ax.spines[spine].set_visible(None) #隐去轴脊
ax.spines['bottom'].set_color('k') #设置bottom颜色
#刻度设置,只显示bottom的刻度,且方向向外,长、宽也进行设置
ax.tick_params(bottom=True,direction='out',labelsize=14,width=1.5,length=4,
              left=False)

其他和上篇推文教程一样,结果如下:

刻度间隔设置也都是可以自定义的,如下:

#设置刻度间隔
from matplotlib.pyplot import MultipleLocator
x_major_locator=MultipleLocator(.5)
y_major_locator=MultipleLocator(.5)

ax.xaxis.set_major_locator(x_major_locator)
ax.yaxis.set_major_locator(y_major_locator)

06. 总结

最近在准备 学术论文配图再现 计划,其目的就是帮助大家进行论文图表的绘制,使大家减去绘图的烦恼,使用的语言可能R居多 ,希望大家能够多给意见,进群多交流

。能力有限,如发现错误,后台交流和进群讨论啊!

本文分享自微信公众号 - 气象学家(Meteorologist2019)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-07-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 动态曲线图(linechart)--Matplotlib绘制

    配上动感的音乐感觉就是不一样啊,要达到上述效果除了核心的Matplotlib绘图外,其他工具和上篇推文 Hans Rosling Charts Matplotl...

    气象学家
  • 工具包 | 使用Python绘制Sci学术期刊配图

    之前还在讨论Matplotlib没有很好的第三方主题库呢?这不,又被我发现了一个宝藏库,还专门用于一些学术期刊的图表发表,可谓是弥补了matplotlib 繁琐...

    气象学家
  • Python高效批量绘图方法

    在数值预报后处理中经常需要批量出图,而基于matplotlib的图形渲染速度较慢,而提高出图的速度通常可通过两个方面来解决:

    气象学家
  • Mac下nvm管理node.js版本问题

    本篇文章主要是针对已经安装了node.js和nvm管理工具小伙伴遇到的问题。 管理工具有两个,一个是nvm,还有一个是n nvm的好处就是可以管理多个node版...

    cMusketeer
  • Java 最常见的 208 道面试题:第六模块答案

    JSP中的四种作用域包括page、request、session和application,具体来说:

    Java团长
  • 谷歌AutoML鼻祖Quoc Le新作AutoML-Zero:从零开始构建机器学习算法

    AutoML 试图将特征工程、模型选择、参数调节这些与特征、模型、优化、评价有关的重要步骤进行自动化地学习,使得机器学习模型无需人工干预即可生成。谷歌这次提出的...

    新智元
  • 反击爬虫,前端工程师的脑洞可以有多大?

    1. 前言 对于一张网页,我们往往希望它是结构良好,内容清晰的,这样搜索引擎才能准确地认知它。 而反过来,又有一些情景,我们不希望内容能被轻易获取,比方说电商网...

    IMWeb前端团队
  • 一步步编写自己的PHP爬取代理IP项目(一)

    第一章节主要给大家普及一下爬虫的概念以及相关的知识,让大家对后面的学习打下扎实的基础。如果你是有经验的开发者,完全可以跳过第一章进入第二章的学习了。

    NateHuang
  • python爬虫入门:什么是爬虫,怎么玩爬虫?

    爬虫可以用到一些 Http 库向指定的服务器偷偷摸摸的发起请求,这个时候爬虫可以假装自己是浏览器(添加一些header信息)

    一墨编程学习
  • 反击爬虫,前端工程师的脑洞可以有多大?

    对于一张网页,我们往往希望它是结构良好,内容清晰的,这样搜索引擎才能准确地认知它。 而反过来,又有一些情景,我们不希望内容能被轻易获取,比方说电商网站的交易额,...

    IMWeb前端团队

扫码关注云+社区

领取腾讯云代金券