Python--matplotlib绘图
用Python绘制图表在工作中是一项非常有用的技能,虽然说强大的matlab基本可以满足我们所有的绘图需求,但是在有些情况下,使用Python绘图,让图表直接可以直接随着Python程序的运行而产生。那这种便捷,也是非常有价值的。本文中,我将简单介绍使用Python的pyplot模块绘制图表的基本操作。当然绘图是一个细活,不同的实际需求,对图表的要求也是千变万化,所以,要把所有的绘图操作一一道来,是困难的,也不见得有多大价值。因此,本文更多的只是抛砖引玉罢了,更详细的绘图技巧大家应在实践中不断查阅,积累经验。
matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图。其中,matplotlib的pyplot模块一般是最常用的,可以方便用户快速绘制二维图表。
绘制一个最简单的折线图
折线图在我的工作中用到的比较多,因为写论文时,经常要在不同的参数环境下比较算法的运行时间。同时,折线图也是最简单的,所以我拿它“开刀”,来介绍pyplot模块最基本的操作。
现在绘制一个简单的二维折线图,x值和对应的y值分别可以被表示如下: x=[1,2,3,4] , y=[1.2,2.7,4.1,6.9] ,我们可以按如下代码画出折线图。
import matplotlib.pyplot as pltx = [1, 2, 3, 4]
y = [1.2, 2.5, 4.5, 7.3]# plot函数作图
plt.plot(x, y) # show函数展示出这个图,如果没有这行代码,则程序完成绘图,但看不到
plt.show()
需要注意一下的是show()函数在通常的运行情况下,将会阻塞程序的运行,直到用户关闭绘图窗口。换句话说,在关闭show()函数弹出的图像窗口前,show()函数后面的代码不会运行,直到用户关闭图像窗口,才会继续。
此外,还可以调用plt.savefig()将当前的Figure对象保存成图像文件,图像格式由图像文件的扩展名决定。比如,我通过如下代码将生成的图像保存为”test.png”。并且用dpi参数指定图像的分辨率为120。最后,输出图像的宽度为 8×120=960 个像素。
plt.savefig("test.png", dpi=120)
注意:plt.savefig()函数应该出现在plt.show()函数之前,否则,关闭图像窗口后,图像对象也就被释放了,什么都保存不到。
当然了,这个图十分简陋,简陋到几乎不能用,现在我们一步步去优化这个图。
绘制不同风格的线条
首先,可以对折线本身的风格进行优化。最好是每个记录的点突出,同时折线的颜色,粗细以及样式可控。优化后,我们得到了下图:
具体的实现代码如下:
import matplotlib
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
