欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

matplotlib绘图库探索(一)

程序员文章站 2024-03-24 13:51:34
...

1.初见matplotlib

感觉matplotlib和python其它库一样功能强大,编程复杂。经过一段时间的学习,更觉得此库参数设置十分随意。这样做的优点是避免了面向对像的冗长语法,熟练后效率会大大增加,必竟数学库只是临时工具。缺点是如果没有文档的帮助,几乎不知道如何设置参数。

2.一个例子

安装matplotlib的方法请自行百度。安装之后在python shell中依行输入以下代码:

import numpy as np
import pylab as pl
x = [1, 2, 3, 4, 5] #数据列表
pl.plot(x)
pl.show()

matplotlib绘图库探索(一)
生成的图片如下所示:
matplotlib绘图库探索(一)
看到简单的python代码生成的这个图像,相信很多初学者一脸茫然。

  1. 这是一条直线,但它的方程显然不是y=x。
  2. 为什么只定义了一个数据列表,却没有定义直线方程就能生成图片。

反过来可能思考可能正确的图像生成过程:

  1. 定义一个方程,比如直线方程:y=x。
  2. 定义一个数据列表为定义域,比如:x = [1, 2, 3, 4, 5]
  3. 程序可能根据方程和定义域求出值域,然后画出图片。

但是这种思维只能说是比较平庸的思考方式,让我们看看matplotlib的开发者是如何卓越思考的。

  1. matplotlib库是一个数学库,不仅能画方程图像,而且能画很多图像。
  2. pl.plot如果只有一个参数,那么它只根据数据列表画Y轴图像

如下图所示,数据列表:[1, 2, 3, 4, 5]所对应Y轴值落在“蓝色直线”上。matplotlib绘图库探索(一)
有没有更加直接的证据证明这一点呢?以下两段代码就证明了这一点:

import numpy as np
import pylab as pl
x = [1, 2, 3, 4, 5] #数据列表
pl.plot(x,'o')      #'o'代表点图上的蓝色圆点
pl.show()

生成图形如下所示:
matplotlib绘图库探索(一)

import numpy as np
import pylab as pl
x = [1, 2, 3, 4, 5, 1] #数据列表
pl.plot(x,'o')      #'o'代表点图上的蓝色圆点
pl.show()

生成图片如下所示:
matplotlib绘图库探索(一)

3结论

程序1生成的是一张“有一定斜率”直线的图片。这是因为matplotlib库pl.plot(x)方法默认把“数据列表”在Y轴对应的点连接起来。

相关标签: matplotlib