零基础用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
2.Python练习实例56菜鸟教程Python 100例 题目:画图,学用circle画圆形。 程序分析:无。 程序源代码: 实例(Python 2.0+) #!/usr/bin/python# -*- coding: UTF-8 -*-if__name__=='__main__':fromTkinterimport*canvas=Canvas(width=800,height=600,bg='yellow')canvas.pack(expand=YES,fill=BOTH)k=1j=1foriinrange(0,26):...https://www.runoob.com/python/python-exercise-example56.html
1.Python如何打开绘图功能mob64ca12f6aae1的技术博客在数据分析和可视化领域,Python以其强大的库和工具在众多编程语言中脱颖而出。绘图功能是Python的一个重要特性,能够帮助开发者和数据科学家在探索数据时进行直观展示。本文将深入探讨如何在Python中打开绘图功能,并使用示例代码来创建简单的饼状图。 一、安装必要的库 ...https://blog.51cto.com/u_16213458/12657635
2.Python/绘图python绘图文章浏览阅读1.2w次,点赞13次,收藏129次。本文展示了如何使用Python的matplotlib和numpy库创建柱形图,包括基础柱形图、带颜色和图例的柱形图、堆积柱形图和分组柱形图。同时,还介绍了散点图和折线图的绘制方法。最后,演示了如何制作三维散点图和三维线框图,以增强数据https://blog.csdn.net/weixin_52808620/article/details/130458698
3.python画图的时候怎么指定纵轴刻度腾讯云开发者社区python画图的时候怎么指定纵轴刻度 在Python中使用Matplotlib库进行数据可视化时,我们经常需要指定坐标轴的刻度。这可以帮助我们更好地理解数据分布及其趋势。在本文中,我们将介绍如何使用Matplotlib在Python中指定纵轴刻度。 1.设置纵轴刻度范围 在Matplotlib中,我们可以使用`plt.ylim`函数来设置纵轴的刻度范围。例如,我们...https://cloud.tencent.com/developer/news/1307001
4.Python画图常用代码总结大全(20个画图代码现拿现用)python更新时间:2023年06月14日 11:55:26 作者:Python正在输入中... Python是一种高级编程语言,拥有丰富的图形库,可以完成绘制各种类型的图形任务,下面这篇文章主要给大家介绍了关于Python画图常用代码的相关资料,文中介绍的这20个画图代码可以现拿现用,需要的朋友可以参考下+ 目录...https://www.jb51.net/python/288392fd6.htm
5.python怎么画六边形?如何用Python画一个六边形?如果准备两只turtle,一个逆时针转,一个顺时针转,就可以画出两个六边形。https://www.yutu.cn/question/tiwen_94934.html
6.用Python处理大物实验数据用Python 处理大物实验数据 身为某世界一流退学的学生,大物实验自然是逃不过。本人有幸选择了大物实验最多的专业方向,从一级做到六级,直到上学期刚刚结束。大物实验里数据处理是占了很多时间的,那么怎么才能「优雅」地完成这一工作呢? 开始Permalink 大一的时候讲座推荐的软件是 Origin,画图、拟合等虽然方便,但...https://lug.ustc.edu.cn/planet/2021/01/physexp-using-python/