pyplot实现的功能与Matlab中的绘制方式很相似。
先看一个绘制折线的例子:
import matplotlib.pyplot as plt plt.plot([1, 17, 8, 9]) plt.ylabel("some numbers") plt.show()
可以发现,由于我们只给了一个一维数组,plot函数把数组索引当成了横坐标,默认会把所有的点有直线连接起来。
可以补全横轴如下:
plt.plot([2, 3, 4, 5],[1, 17, 8, 9])#第一个参数指定了横轴的坐标,第二个参数指定纵轴。绘制输出如下:
发现两个问题,无论是横轴还是纵轴,坐标范围总是默认由数组中的最小值和最大值决定(如上图中横轴2到5,纵轴1到17)。还有就是能不能不把这些离散的点连起来呢?答案是肯定的,参见如下代码:
import matplotlib.pyplot as plt plt.plot([1, 2, 3, 4], [1,4,9, 16], ‘ro‘) plt.axis([0, 6, 0, 20]) plt.show()
上述代码在plot函数中设置了第三个参数,也就是格式字符串,这几乎是完全照搬MATLAB的,‘ro‘中r指红色,o只圆圈形状,要绘制跟先前一样的折线图,参数是‘-‘。另外可以发现此时横轴与纵轴已经变成我们指定的范围了。 最后,pyplot还支持将多组数据绘制到一幅图中。
import numpy as np import matplotlib.pyplot as plt t = np.arange(0., 5., 0.2) plt.plot(t,t, ‘r--‘, t, t**2, ‘bs‘, t, t**3, ‘g^‘) plt.show()
以上就是 pyplot的基本内容了,有了这些,我们可以完成一些基本的绘制操作。
时间: 2024-10-17 09:45:31