4.1 matplotlib快速绘图

为了将matplotlib绘制的图表嵌入到Notebook中,需要执行下面的命令:

%matplotlib inline
  • 载入matplotlib的绘图模块pyplot,并且重命名为plt。
  • 载入numpy模块,并且重命名为np。
import matplotlib.pyplot as plt
import numpy as np

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

np.linspace在指定的间隔内返回均匀间隔的数字。 返回num均匀分布的样本,在[start, stop]。

x = np.linspace(0, 10, 100)
y = np.sin(x)
z  = np.cos(x**2)

调用figure()对象创建一个Figure(图像)对象,并且将它成为当前Figure对象。figure参数指定了Figure对象的宽度和高度,单位为英尺。此外还可以使用dpi参数指定Figure对象的分辨率,即每英尺所表示的像素数,这里使用默认值80.

plt.figure(figsize=(8, 4))

这里使用plot()在当前的Figure对象中绘图。实际上plot()是在Axes(子图)对象上绘图,如果不存在,则创建一个几乎充满整个图表的Axes对象,使其成为当前的Axes对象。
plot前两个参数分别表示X,Y轴数据的对象,这里使用的是numpy数组。使用关键字参数可以指定所绘制曲线的各种属性。

  • label: 给曲线指定一个标签,也可以使用LaTeX表示,如果标签字符串前后有字符$
  • color: 指定曲线的颜色,颜色可以用英文单词或以#字符开头的6位十六进制数表示。
  • linewidth: 指定曲线的宽度,可以不是整数,或者使用缩写lw
  • b-- 指定曲线的颜色和线型, b表示蓝色,--表示线型为虚线。

但是使用LaTeX语法绘制数学公式会极大的降低图表的描绘速度

plt.plot(x, y, label="$sin(x)$", color="red", linewidth=2)
plt.plot(x, z, "b--", label="$cos(x^2)$")
[]

4.1 matplotlib快速绘图_第1张图片

plt.plot? #在IPython中执行可以查看格式化字符串的详细说明。

xlabel, ylabel:分别设置X, Y轴的标题文字。

plt.xlabel("Times(s)")
Text(0.5,0,'Times(s)')

4.1 matplotlib快速绘图_第2张图片

plt.ylabel("vlot")
Text(0,0.5,'vlot')

4.1 matplotlib快速绘图_第3张图片

title设置子图的标题

plt.title("Pyplot First Example")
Text(0.5,1,'Pyplot First Example')

4.1 matplotlib快速绘图_第4张图片

xlim, ylim分别设置X, Y 轴的显示范围。

plt.ylim(-1.2,1.2)
(-1.2, 1.2)

4.1 matplotlib快速绘图_第5张图片

legend显示图中曲线的标签和样式的矩阵区域。

plt.legend()
No handles with labels found to put in legend.






4.1 matplotlib快速绘图_第6张图片

最后调用plt.show()显示绘图窗口。

plt.show()

将上面合并执行,结果如下。

plt.plot(x, y, label="$sin(x)$", color="red", linewidth=2)
plt.plot(x, z, "b--", label="$cos(x^2)$")
plt.xlabel("Times(s)")
plt.ylabel("vlot")
plt.ylim(-1.2,1.2)
plt.legend()
plt.show()

4.1 matplotlib快速绘图_第7张图片

plt.savefig()将当前的Figure对象保存为图像文件,图像格式由图像文件的扩展名决定,可以通过dpi参数来指定图像的分辨率。

plt.savefig("test.png", dpi=120)

你可能感兴趣的:(python学习)