收藏如何利用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.Python绘图,我只用Matplotlib(二)matplotlib 画图设置的刻度是由曲线以及窗口的像素点等因素决定。这些刻度精确度无法满足需求,我们需要手动添加刻度。上图中,纵轴只显示 2 的倍数的刻度,横轴只显示 1 的倍数的刻度。我们为其添加精准刻度,纵轴变成单位间隔为 1 的刻度,横轴变成单位间隔为 0.5 的刻度。 https://www.jianshu.com/p/78ba36dddad8
2.第一讲(7)关闭“画图”窗口。 (8)打开“附件”的“计算器”窗口; (9)启动“查看”菜单下的“程序员”命令,将十六进制的5A1B分别转换成二进制、十进制、八进制。 (10)打开Windows 7“帮助和支持”窗口,查找如何共享计算机上的文件。 【实验2】 在E盘创建“考生文件夹”,文件夹结构如图所示(考生文件夹中的子文件夹...http://pt.csust.edu.cn/meol/data/convert/2023/9/22/ce5b1979-e781-4acd-94e6-0c29f7eddfdb_6984073.html
1.如何用python画图——带你入门matplotlib腾讯云开发者社区如何用python画图——带你入门matplotlib 点击蓝色字关注我们吧! matplotlib是python中常用的一个可视化库,大多数的操作与MATLAB非常类似,所以对于从MATLAB迁移到python的朋友是非常友好的。matplotlib使用numpy进行数组运算,也支持pandas的Series直接用于matplotlib画图。https://cloud.tencent.com/developer/article/1469224
2.Python中三种常用的绘图方式!!!python画图选项在Python中,Matplotlib是一个功能强大的绘图库,特别是其Pyplot模块,提供了类似于MATLAB的绘图接口,使得用户可以轻松绘制各种2D图表。下面我们将详细介绍使用Matplotlib进行可视化的基本步骤以及常用图形的绘制方法。 步骤 创建画板和坐标轴对象 使用Matplotlib时,首先需要创建一个图形(画板)和坐标轴对象。但在简单的绘图中,这...https://blog.csdn.net/DREAM_xs/article/details/142531835
3.Python利用Turtle绘画简单图形python首先,使用Python内置的Turtle绘图库需要在程序前添加以下代码: import turtle 也可以写成这样: from turtle import * 我们来讲一讲它们的区别: 使用import时,需要定义一个变量作为参数控制项,如: import turtle t=turtle.Pen() # 画图 t.forward(10) # 向右画10像素,详见下表 ...https://m.jb51.net/article/255723.htm
4.python如何利用series画图python数据画图python如何利用series画图 python数据画图 本篇博文主要介绍使用Python中的matplotlib模块进行简单画图功能,我们这里画出了一个柱形图来对比两位同学之间的不同成绩,和使用pandas进行简单的数据分析工作,主要包括打开csv文件读取特定行列进行加减增加删除操作,计算滑动均值,进行画图显示等等;其中还包括一段关于ipython的基本使用...https://blog.51cto.com/u_16099262/7212594
5.python怎么画六边形?如何用Python画一个六边形?如果准备两只turtle,一个逆时针转,一个顺时针转,就可以画出两个六边形。https://www.yutu.cn/question/tiwen_94934.html