一提到python绘图,matplotlib是不得不提的python最著名的绘图库,它里面包含了类似matlab的一整套绘图的API。因此,作为想要学习python绘图的童鞋们就得在自己的python环境中安装matplotlib库了,安装方式这里就不多讲,方法有很多。
本文将在已安装matplotlib的环境中教新手如何快速使用其中的接口进行绘图操作,并展现一个非常直观的绘图例子,以及控制绘图中的一些细节的方法。
既然绘图要用matplotlib的包,并且我们也已经安装了,那么首先肯定是要引入这个包了: import matplotlib.pyplot as plt
当然也可以替换为引入pylab(是matplotlib的一个子包,非常适合于进行交互式绘图,本文将以这个为例): import pylab as pl
接下来,就是对具体数据进行绘图了。比如我们要绘制一条y=x^2的曲线,可这样写代码:
x = range(10) # 横轴的数据 y = [i*i for i in x] # 纵轴的数据 pl.plot(x, y) # 调用pylab的plot函数绘制曲线 pl.show() # 显示绘制出的图
执行之后就可以看到绘制出来的图了:
可以看到,要显示一个图非常简单,只要有了两个list作为输入数据,先后调用plot和show函数就可以了。一定要记得只有调用了show之后才会显示出来!只有plot是不行的!
在实际运用中,可能这样一条简单粗暴的线可能并不是我们想要的最好的结果,比如,想要在图形上显示原始数据点,很简单,只要在plot函数中加上一个参数即可: pl.plot(x, y, ‘ob-‘) # 显示数据点,并用蓝色(blue)实现绘制该图形
这个参数用法比较灵活,可以从下面的值中组合选择:
颜色(color 简写为 c): 蓝色: 'b' (blue) 绿色: 'g' (green) 红色: 'r' (red) 蓝绿色(墨绿色): 'c' (cyan) 红紫色(洋红): 'm' (magenta) 黄色: 'y' (yellow) 黑色: 'k' (black) 白色: 'w' (white) 线型(linestyle 简写为 ls): 实线: '-' 虚线: '--' 虚点线: '-.' 点线: ':' 点: '.' 点型(标记marker): 像素: ',' 圆形: 'o' 上三角: '^' 下三角: 'v' 左三角: '<' 右三角: '>' 方形: 's' 加号: '+' 叉形: 'x' 棱形: 'D' 细棱形: 'd' 三脚架朝下: '1'(像'丫') 三脚架朝上: '2' 三脚架朝左: '3' 三脚架朝右: '4' 六角形: 'h' 旋转六角形: 'H' 五角形: 'p' 垂直线: '|' 水平线: '_'
线是调好了,可是还想加上横纵坐标的说明呢?也很简单,在调用show函数之前添加如下代码:
pl.xlabel(u"我是横轴") pl.ylabel(u"我是纵轴")
效果如下:
这里一定要记住,传递的字符串一定要是Unicode编码,如果是直接传入字符串,形式如 u’这里是要写的字符串’ 即可。
现在就直观多了吧,终于像一个正常的图了,不过,还想再在图里加个图例该咋办?也不难,继续给plot传参数:
pl.plot(x, y, 'ob-', label=u'y=x^2曲线图') # 加上label参数添加图例 pl.legend() # 让图例生效
这里也是一样,label字符串参数务必加上u”声明为unicode编码,否则图例将会添加失败。效果图如下:
oh,看到图像上面光秃秃的,就好想给它加个标题: pl.title(u’图像标题’) # 字符串也需要是unicode编码
有时候,我们的数据可能分布并没有这么集中,比如我们想要对项目中的某些数据进行绘图观察时发现,大量数据聚集在0附近,而少量很大的数据会导致图像显示效果很不好,比如:
x = range(10)+[100] y = [i*i for i in x] pl.plot(x, y, 'ob-', label=u'y=x^2曲线图')
这时,我们想要限制需要显示的坐标范围:
pl.xlim(-1, 11) # 限定横轴的范围 pl.ylim(-1, 110) # 限定纵轴的范围
再上效果图:
好了,到这里plot的常用绘图用法就讲完了,另外,如果需要在一幅图中显示多条线,可以在show函数调用前继续调用plot函数,传入需要绘制的数据和图形显示要求。
matplotlib是个非常好用的库,不管是对于需要写论文画图,还是数据调研中看数据相关性,都是一个得力助手。
本文简要介绍了下python绘图入门的一些用法,如有不对之处,欢迎大家指正。我也是不久前才开始真正使用python,这个强大而方便的语言会让我们能更快地实现自己的想法,大家有比较好的python资料也欢迎留言,共同学习,谢谢!
今天的文章【python笔记】使用matplotlib,pylab进行python绘图分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/28662.html