为了将matplotlib
绘制的图表嵌入到Notebook
中,需要执行下面的命令:
%matplotlib inline
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
数组。使用关键字参数可以指定所绘制曲线的各种属性。
$
#
字符开头的6位十六进制数表示。lw
。b--
指定曲线的颜色和线型, b
表示蓝色,--
表示线型为虚线。但是使用LaTeX语法绘制数学公式会极大的降低图表的描绘速度
plt.plot(x, y, label="$sin(x)$", color="red", linewidth=2)
plt.plot(x, z, "b--", label="$cos(x^2)$")
[]
plt.plot? #在IPython中执行可以查看格式化字符串的详细说明。
xlabel, ylabel
:分别设置X, Y轴的标题文字。
plt.xlabel("Times(s)")
Text(0.5,0,'Times(s)')
plt.ylabel("vlot")
Text(0,0.5,'vlot')
title
设置子图的标题
plt.title("Pyplot First Example")
Text(0.5,1,'Pyplot First Example')
xlim, ylim
分别设置X, Y 轴的显示范围。
plt.ylim(-1.2,1.2)
(-1.2, 1.2)
legend
显示图中曲线的标签和样式的矩阵区域。
plt.legend()
No handles with labels found to put in legend.
最后调用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()
plt.savefig()
将当前的Figure对象保存为图像文件,图像格式由图像文件的扩展名决定,可以通过dpi
参数来指定图像的分辨率。
plt.savefig("test.png", dpi=120)