matplotlib
基本
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(1, 10, 100) # 生成1~10范围内的100个点
y = np.sin(x)
z = np.cos(x ** 2)
plt.figure(figsize=(8, 4)) # 画布8X4
plt.plot(x, y, label='$sin(x)$', color='red', linewidth=2) # $$包裹的部分是Latex字符串
# 也可以用位置参数'b--'来表示曲线的颜色和线型。
plt.plot(x, z, 'b--', label='$cos(x_{s}^{2+5})$')
plt.xlabel("Time(s)")
plt.ylabel("Voltage(Volt)")
plt.title('first example')
plt.xlim(0, 10) # 设定x的范围
plt.ylim(-1.2, 1.2) # y轴的范围
# 设定图例,图例的文字就是运行plot函数时给的label参数。
# 设置loc参数,指定图例的位置。如果不设置,会自动给图例寻找“最优”位置。
plt.legend(loc='lower left')
# 使用savefig函数可以保存图片,savefig不会阻塞程序运行,非常适合批量绘图。dpi参数为分辨率
# 通常情况下,show函数会阻塞程序的运行,直到用户关闭绘图窗口。
plt.savefig("1.png", dpi=300)
plt.show()
配置对象的属性
图表的每一部分都对应一个对象,有两种方式设置/查看这些对象的属性:
x = np.arange(0, 5, 0.1) # [0,5,0.1),步长为0.1
lines = plt.plot(x, np.sin(x), x, np.cos(x), x, np.tanh(x))
x = np.arange(0, 5, 0.1) # [0,5,0.1),步长为0.1
# plt.plot函数可以接受不定个数的位置参数,这些位置参数两两配对,生成多条曲线。
lines = plt.plot(x, np.sin(x), x, np.cos(x), x, np.tanh(x))
lines[0].set_alpha(0.5)
# 使用plt.setp函数同时配置多个对象的属性,这里设置lines列表中所有曲线的颜色和线宽。
plt.setp(lines, color='r', linewidth=4.0)
# 使用getp方法查看所有的属性
f = plt.gcf()
plt.getp(f)
plt.show()
绘制多个子图
'''
一个Figure多个Axes
subplot(numRows,numCols,plotNum)子图行数、子图列数、第几个子图(从左到右、从上到下)
子图的编号是从1开始,不是从0开始
创建3行2列,共计6个子图——subplot(323)等价于subplot(3,2,3)。
'''
fig = plt.figure(figsize=(4, 3))
for index, color in enumerate('rgbcyk'): # 遍历颜色字符串
plt.subplot(321 + index, facecolor=color)
plt.show()
# 如果新创建的子图和之前创建的有重叠区域,则之前的子图会被删除
plt.subplot(221)
fig = plt.figure(figsize=(4, 3))
plt.subplot(221) # 两行两列,把画布分成均等的两列,左边是1
plt.subplot(222) # 右边是2
plt.subplot(212) # 两行一列
plt.show()
覆盖了
Artist
使用dir(line)、help()