零基础用Python画图表,让你的论文更美观

使用matplotlib这个模组,我们就可以摆脱微软Office的传统画图方法。以此带来的新画图方法就是通过数学式的方法来画图。更加有用的是,我们可以方便地自定义图表,画出更好看、更美观的效果。

安装完成之后,你会在开始菜单中的Anaconda文件夹中看到Spyder这个应用,我们打开这个应用,迎面而来的就是一个代码编辑器,我们就要在这个代码编辑器内写出所有画图的代码。

打开Spyder,我们就会看到屏幕的左边是代码编辑区域,屏幕的左下角则是输出区域。在这个步骤,我们将主要操作屏幕的左边,也就是代码编辑区域,来输入我们画图用到的代码。

编辑代码的第一步,就是告诉我们要写的程序要包括什么模组。简单来说我们就是要告诉程序,我们要在程序内包括什么功能。首先我们输入以下代码:

importmatplotlib.pyplotaspltimportnumpyasnp这两行代码中,import的意思就是,我们要导入两个模组,一个叫做matplotlib.pyplot,还有一个叫做numpy。matplotlib.pyplot主要负责画图功能。numpy则负责高级数学的功能,比如解释正弦、余弦函数,Python本身是不能通过一句简单的函数来计算某个角度的正弦的,需要外部库来支持。

在这里,as的意思是定义一个别名。在之后的程序中,当我们需要召唤matplotlib.pyplot这个程序的时候,我们只需要打出plt即可,而无需再打出原来这么一长串。同理,numpy在这里也被取了np的别名。

在以上我们做完程序的铺垫之后,我们就可以正式开始编写画图的代码了。首先,我们要定义X的域,添加以下代码表示:

x=np.linspace(-1,1,256)在这行代码中,我们定义了X轴的最小值和最大值,括号中第一个数字-1是X轴的最小值,括号中的第二个数字1则是X的最大值。256则是取样密度,这个参数不用改变。

目前这部分很简单,但是matplotlib强大的地方在于可以利用其他的常量来定义边界,请看下面的例子:

x=np.linspace(-np.pi,np.pi,256)在这个例子中,这行代码会替换上面那行代码,我们利用了numpy模组,使X轴的最小值变为-π,而最大值变成了π,从而允许我们更直观地画出三角函数的图像。

接下来我们开始定义Y轴,假如我们想画出sin(x)的图像,我们只需要接着输入:

y=np.sin(x)在这里,sin的前面被加了np.,是因为Python本身不支持正弦函数运算,所以需要注明使用np模组才能使用。

又或者,我们想画出平方的图像,我们可以替换上面的代码为:

X和Y的定义完成了,接下来,我们开始指令matplotlib来画出图像。

这步非常简单,只需要在代码的最后添加一行代码:

plt.plot(x,y)最后,点击工具栏上的绿色箭头,就可以运行这段代码。运行完毕之后,你就可以在右下角的窗口上看到你画出的图像。右键点击图像,即可保存。

现在我们来开始介绍matplotlib最强大的地方:自定义。为什么我们要使用matplotlib来画图?就是为了能够自定义图表中的一些元素。在上边的例子中,我们使用了np.sin()函数来画出正弦图像。但是,matplotlib默认为我们使用了数字作为X轴的坐标轴,这显然不是最理想的标记方法,那么我们接下来学习怎样自定义X轴坐标轴。在plt.plot(x,y)前加入以下代码。

如果你不需要用文字表达而仅仅需要使用简单的数字,则不需要填写第二个方括号。这里我们用Y轴举例:

plt.yticks([-1,-0.5,0,0.5,1])这样,Y轴就只会显示方括号内的五个数字。

添加标题非常简单,只需要加入一行代码,确保代码在import语句以下,plt.plot(x,y)以上:

上图中我们可以看到,正弦函数是蓝色,X平方函数则是红色,这些颜色的配置归功于第三个参数中的第一个字符:b和r,分别表示blue和red。接下来的字符则表示线条的风格,--和-.分别表示虚线和虚点线。需要注意的是,这里没有严格的顺序,所以即使你写成--b,也是没有问题的。

可能大家已经注意到了:上面我们输出的函数图像,其实是非常不清晰的。那么现在我们来调整图像。确保以下代码位置在import语句下第一行。

plt.figure(figsize=(3,5),dpi=300)大家应该已经注意到了,plt.figure()内多了两个参数。其中,figsize的值定义了图像的大小,第一个数字代表宽度为三英尺,第二个数字代表宽度为五英尺。dpi的值则很明显,代表了图像的DPI。这些值您可以根据自己的实际需求进行修改。

可能也有一些读者会问:为什么不用其他的软件?一方面是matplotlib自定义功能强。另一方面,虽然其他的软件拥有图形化的界面来简化画图的过程,但是我更喜欢用代码来解决问题,算是我个人的小癖好之一。

THE END
1.Python绘图,我只用Matplotlib(二)matplotlib 画图设置的刻度是由曲线以及窗口的像素点等因素决定。这些刻度精确度无法满足需求,我们需要手动添加刻度。上图中,纵轴只显示 2 的倍数的刻度,横轴只显示 1 的倍数的刻度。我们为其添加精准刻度,纵轴变成单位间隔为 1 的刻度,横轴变成单位间隔为 0.5 的刻度。 https://www.jianshu.com/p/78ba36dddad8
1.视觉化数据的艺术:掌握Matplotlib基础绘图数据可视化本文介绍了Matplotlib库的基础绘图流程,包括导入模块、创建画布与子图、添加内容,以及设置颜色、坐标轴、标签、保存展示等。同时推荐了Seaborn作为Matplotlib的高级接口,方便快速生成美观图表。 摘要由CSDN通过智能技术生成 Matplotlib基础绘图 文章目录 Matplotlib基础绘图 ...https://blog.csdn.net/m0_74070923/article/details/138005004
2.怎么用Pythonmatplotlib库解决画图中出现中文和显示显示成方框的...小编写这篇文章的一个最为主要的目的,就是去给大家去做一个解释,解释关于在python中的一些问题,甚至是出现的各种相关的疑难杂症问题,比如出现了中文负数的问题,下面小编就给大家详细的去做一个解答。 解决Python中matplotlib库画图中文和负号显示为方框的问题 ...https://www.ucloud.cn/yun/127997.html
3.如何用python画图——带你入门matplotlib腾讯云开发者社区如何用python画图——带你入门matplotlib 点击蓝色字关注我们吧! matplotlib是python中常用的一个可视化库,大多数的操作与MATLAB非常类似,所以对于从MATLAB迁移到python的朋友是非常友好的。matplotlib使用numpy进行数组运算,也支持pandas的Series直接用于matplotlib画图。https://cloud.tencent.com/developer/article/1469224
4.Python之Matlibplot画图功能演示过程python这篇文章主要介绍了Python之Matlibplot画图功能演示过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教 + 目录 Python Matlibplot画图功能演示 Matplotlib 是 Python 的一个绘图库。 它包含了大量的工具,你可以使用这些工具创建各种图形,包括简单的散点图,正弦曲线,甚至是三维图形。 https://www.jb51.net/python/298080qtf.htm
5.用Python处理大物实验数据用Python 处理大物实验数据 身为某世界一流退学的学生,大物实验自然是逃不过。本人有幸选择了大物实验最多的专业方向,从一级做到六级,直到上学期刚刚结束。大物实验里数据处理是占了很多时间的,那么怎么才能「优雅」地完成这一工作呢? 开始Permalink 大一的时候讲座推荐的软件是 Origin,画图、拟合等虽然方便,但...https://lug.ustc.edu.cn/planet/2021/01/physexp-using-python/
6.python怎么画六边形?如何用Python画一个六边形?如果准备两只turtle,一个逆时针转,一个顺时针转,就可以画出两个六边形。https://www.yutu.cn/question/tiwen_94934.html
7.python中turtle画图怎么设置面向方向Python 中 Turtle 画图设置面向方向 Turtle 是 Python 中一个简单而强大的绘图库,常用于初学者学习编程和绘图。从物理意义上来看,turtle(海龟)像我们日常所理解的画笔,用户可以通过编程来控制它的移动和绘图。要有效地使用 Turtle 绘图库,了解其面向方向的设置是至关重要的。本文将详细介绍如何用 Python 中的 Turtle...https://blog.51cto.com/u_16213396/12343647