收藏如何利用python画出令编辑眼前一亮的论文图片(一)

作为举例,小编拿出以前从期刊中保存的相对比较复杂的一副图片,带领大家利用python去重复整个过程。

本次选取的图片和复制出来的图片如下图,其中上图是从某期刊中截取的一幅比较典型的科研论文数据图,下边的图是用python在jupyternotebook里面重复出来的示意图,由于小编不可能有图片原来的实验数据,只能通过线型自己构造一些数据以供展示。可以看到,除了一些字体,颜色和图片的大小等需要仔细调整的地方,我们比较完美的还原了左边的数据图。下面,就让我们一步一步的跟随小编,看这幅图是如何被重构出来的。

本次示例只需要用到numpy和matplotlib两个python库,需要提前导入

由于没有真实的实验数据,小编根据图中情况自己构造了一些数据

得到了初始的图片

这个图片看起来和我们想要的相差很大,没有关系,matplotlib是一个非常强大的绘图库,让我们一点一点地去改进我们的图片

plt.xlim()和plt.ylim()语句可以让我们改变x坐标轴和y坐标轴的范围

ax是我们前面命名的一个画板对象的名字,如果需要改变坐标轴的刻度,可以通过ax.setxticks()设定x轴的刻度值,同时matplotlib允许我们通过tickparams()方法改变刻度值的一些属性,例如刻度值的朝向,颜色,长度和粗细等。

ax.plot()里面的color参数可以指定所画图线的颜色,颜色可以用0-1范围内的RGB值来确定。有的时候我们不能确定一个图线用什么样的颜色更协调,这时我们可以去观摩别的优秀期刊上面的图片的配色,然后用取色器拾取其颜色,用在我们的图片中。

matplotlib可以嵌入latex公式,只需要在r'$$'的两个$符号中间写入latex代码就可以。这样我们可以很方便的在图片的图例、坐标轴名称等地方嵌入latex公式

到此为止,我们的主图已经描绘的差不多了

接下来需要的就是分别按照上面描述的方法,把两个子图分别画出来

在绘制子图的过程中,我们用ax1.setxticklabels()来设定刻度值的内容,刻度值并不一定显示实际的数值,而可以显示字符串样式的内容。这样就方便了我们自定义一些非常规的坐标刻度值。同时,我们用ax_1.text()来自定义一些图片内的文字。

与子图一的绘制相似,子图二的绘制也比较简单。

在将三幅图结合为一幅图的过程中,我们使用fig.add_axes()命令来为图片添加子图,其中该方法中的四个参数分别是该子图的两个起始地点和宽、高度。通过调整这四个参数我们可以让子图到达我们想要的位置。

最终的效果图如图所示。

但同时,这种自定义太强的功能也给我们带来很多困扰,哪怕我们只想实现一个比较简单的功能,如果对matplotlib这个库不是那么熟悉的话,也需要查找半天。而如果画图者本人没有很高的审美的话,就很容易画出一些看上去不是很协调的图片。好在世界上同样有人想到了这一点,他们开发出了plotly这一个能很方便的画出非常美观图形的库和mpltex这个号称可以画出出版社级别图片的库,这两个功能强大的库我们将于接下来的系列教程中予以介绍~

THE END
1.Pythonmatplotlib画图时图例说明(legend)放到图像外侧详解matplotlib画图.zip_Python Matplotlib_ago6ck_matplotlib_python 教程 基于python的模块matplotlib画各种机器学习结果的图 上传者:weixin_42659196时间:2022-07-14 Python matplotlib图例放在外侧保存时显示不完整问题解决 主要介绍了Python matplotlib图例放在外侧保存时显示不完整问题解决,文中通过示例代码介绍的非常详细,对大...https://www.iteye.com/resource/weixin_38611812-12852038
2.图例单调栈数组图例jQuery前端开发 目标践行者阅读 701-06 17:45 2.5 常规游戏中模型通用要求介绍 游戏贴图图例角色模型Python后端开发 宁静的猫阅读 362023-12-22 三门不可多得的HarmonyOS学习教程 harmonyos学习华为图例数据管理Redis数据库 拾光的Shelly阅读 382023-12-11 ...https://www.cfanz.cn/kpoint/detail/rMErGyXrNyxQL
3.Python学习笔记(matplotlib篇)图例legend9974Python学习笔记--图例 legend 参靠视频:《Python数据可视化分析 matplotlib教程》链接:https://www.bilibili.com/video/av6989413/?p=6 所用的库及环境: IDE:Pycharm Python环境:python3.7 Matplotlib: Matplotlib 1.11 Numpy: Numpy1.15. 图例legend 概念 此图右上角信息框就是图例,用来表示每条线的名字或者代号 ...https://www.cnblogs.com/linblogs/p/9642031.html
4.Python从零到就业全栈500课(编程爬虫数据自动化前后端算法)视频...Python从零到就业全栈500课(编程爬虫数据自动化前后端算法) 视频教程 下载 转载自:http://www.python222.com/article/950 相关截图: 资料目录: 1_【快速导学】Python从零到就业全栈体系课-【必读】从零到就业全栈体系课程介绍.mp4 2_【快速导学】Python从零到就业全栈体系课-【必读】课程如何答疑?.mp4 3_【快...http://www.java1234.com/a/javaziliao/python/2024/0527/25372.html
1.pythonpatches画马鞍形mob6454cc762e37的技术博客python patches 画马鞍形 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。它的文档相当完备,并且 Gallery页面 中有上百幅缩略图,打开之后都有源程序。因此如果你需要绘制某种类型的图,只需要在这个页面中浏览...https://blog.51cto.com/u_16099311/12701960
2.使用python画饼图进阶版在前面的文章《怎么用python给老板画个大饼?》中,探讨了如何使用python绘制饼图,但该文中的实验数据稍微有点简单,实际工作中的表单数据会更为复杂,今日我们一起来看看涉及稍微复杂一点的表单数据怎么绘制饼图吧! 场景1. 选择指定行数据绘制饼图 例子:Excel有3年的销售数据,只需要选择其中一年的数据绘制饼图: ...https://blog.csdn.net/WF_crystal/article/details/144195639
3.Python绘制数据图表的超详细教程python画一个吸引人注意的图表相当重要,当你探索一个数据集,需要画图表,图表看起来令人愉悦是件很高兴的事,下面这篇文章主要给大家介绍了关于Python绘制数据图表的超详细教程,需要的朋友可以参考下 matplotlib绘图库模块安装 pip install matplotlib 导入pyplot子模块 ...https://m.jb51.net/article/268036.htm
4.PythonMatplotlib绘图库详解物联沃第二部分是绘图的主体部分。其中添加标题,坐标轴名称,绘制图形等步骤是并列的,没有先后顺序,可以先绘制图形,也可以先添加各类标签。但是添加图例一定要在绘制图形之后。 3.保存与展示图形 4.设置pyplot的动态rc参数 pyplot模块使用rc配置文件来自定义图形的各种默认属性,称为rc配置或rc参数。通过修改rc参数可以修改默认...https://www.iotword.com/27300.html
5.Python常用画图代码(折线图柱状图饼图)?简单记录一下最简单常用的三种论文插图的python画图代码,以作备忘。 ? 有很多很牛b的作图教程,我也学不来,就扔给大家自己学吧: 如何在论文中画出漂亮的插图?[1] 折线图 代码 代码语言:javascript 复制 importnumpyasnpimportmatplotlib.pyplotasplt ...https://cloud.tencent.com/developer/article/1780434
6.python模块Proplot:高级分析绘图?去除冗余信息matplotlib的子图share参数可以让子图共享轴,但是对于轴的标签、legend和colorbar等信息却无法进行处理,Proplot引入了新的Figure、colorbar和legend`方法处理这种情况,使多子图绘图更简洁。 ?设置外部colorbar和legendmatplotlib中为多个子图设置colorbar和legend时是非常麻烦的,尤其是需要自定义位置时。Propl...https://www.jianshu.com/p/79b1d3367491