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))
<Figure size 576x288 with 0 Axes>
<Figure size 576x288 with 0 Axes>

这里使用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)$")
[<matplotlib.lines.Line2D at 0x7f71dee853c8>]

在这里插入图片描述

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.





<matplotlib.legend.Legend at 0x7f71df083fd0>

在这里插入图片描述

最后调用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()

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NpS6qP4i-1578363354196)(output_25_0.png)]

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

plt.savefig("test.png", dpi=120)
<Figure size 432x288 with 0 Axes>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值