本人依据上课学习内容,将matplotlib内容浓缩为代码块 以下是第二部分的学习内容: 1.添加图表辅助元素 2.子图绘制 3.共享坐标轴 4.双坐标轴 5.调整子图之间的距离
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = np.arange(5)
y1 = np.array([10, 8, 7, 11, 13])
y2 = np.array([9, 6, 5, 10, 12])
lines = plt.plot(x, y1, x, y2)
'''1.添加图表辅助元素'''
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.xlim(x.min() - 1.5, x.max() + 1.5)
plt.xticks(np.arange(5), ['a', 'b', 'c', 'd', 'e'])
plt.title('展示图表辅助元素的折线图')
plt.legend(lines, ['折线1', '折线2'], shadow=True, fancybox=True,
loc='best', title='图例标题展示')
plt.grid(visible=True, axis='y', linewidth=0.3)
plt.axhline(y=0, xmax=0, xmin=1, linestyle='--')
plt.axvline(x=0, ymax=0, ymin=1, linestyle='--')
plt.axhspan(ymin=0.5, ymax=1.0, alpha=0.3)
plt.axvspan(xmin=0.5, xmax=2.0, alpha=0.3)
plt.annotate('折线1最小值', xy=(x.min()+2, y1.min()+0.5),
xytext=(x.min()+2+1, y1.min()+0.5+1), arrowprops=dict(arrowstyle="->"))
plt.text(x=3.10, y=0.10, s="y=0参考线", bbox=dict(alpha=0.2))
plt.table(cellText=[[6, 6, 6], [8, 8, 8]], colWidths=[0.1] * 3,
rowLabels=['第1行', '第2行'], colLabels=['第1列', '第2列', '第3列'], loc='upper left')
plt.show()
'''2.子图绘制'''
fig = plt.figure(figsize=(6, 8))
ax = fig.add_subplot(111)
ax.plot(y1)
fig, ax = plt.subplots(2, 2, figsize=(10, 5))
ax1 = ax[1, 0]
ax1.plot([1, 2, 3, 4, 5])
'''3.共享坐标轴'''
fig, ax_arr = plt.subplots(2, 2, sharex='col')
|