import matplotlib.pyplot as plt
import numpy as np

# 更新matplotlib的布局参数:
plt.rcParams.update(
    {'font.size': 18, 'font.family': 'STIXGeneral', 'mathtext.fontset': 'stix'})

x = np.linspace(0, 10, 10)
y = x ** 2
fig1 = plt.figure()
'''
无论使用何种方法创建,每一个axes都是一个独立的图层,每个图层除了绘图区以外都是透明的,
图层之间相互独立互不影响,当两个axes绘图区之间有重叠的时候,创建命令在前的axes图层位置更靠近底层。
其中left与width的单位为Figure画布宽度的百分比,bottom与height的单位为Figure画布高度的百分比。
'''
axes = fig1.add_axes([0.1, 0.1, 0.8, 0.8])  # 左侧间距,底部间距,宽度,高度 (从0到1)
axes.plot(x, y, 'g*-')  # 调用pylab的plot函数绘制曲线
axes.set_xlabel('x')
axes.set_ylabel('y')
axes.set_title("test1")

# 插入另一个图像
axes2 = fig1.add_axes([0.2, 0.5, 0.4, 0.3])  # 插入的坐标轴
axes2.plot(y, x, 'g')
axes2.set_xlabel('y')
axes2.set_ylabel('x')
axes2.set_title('insert title')
# 使用figsize指定图像大小
fig2, axes2 = plt.subplots(nrows=1, ncols=2, figsize=(12, 4))
axes2[0].plot(x, y, 'r')
axes2[0].set_xlabel('x')
axes2[0].set_ylabel('y')
axes2[0].set_title('test2_1')
# 在绘图或添加其他元素的时候利用label="label text" 关键字参数,
# 然后用无参数的legend指令把图例添加到图像上。
# 采用LaTeX文本格式,原始字符串带有前缀“r”。
axes2[1].plot(x, x**2, label=r"$y = \alpha^2$")
axes2[1].plot(x, x**3, label=r"$y = \alpha^3$")
# 把图例放在右下角
axes2[1].legend(loc=4)
# 添加标题和坐标轴标签。
axes2[1].set_xlabel('x')
axes2[1].set_ylabel('y')
axes2[1].set_title('test2_2')
# 设置坐标轴的范围,可以运用坐标轴对象中的set_ylim和set_xlim
axes2[1].set_ylim([0, 50])
axes2[1].set_xlim([0, 10])

# 自动调整坐标轴在图像窗口的位置,从而避免重合的发生。
fig2.tight_layout()
# 我们可以采用Figure函数族中的savefig方法来存储图像,确定图像精度。
fig2.savefig("filename.png", dpi=200)

plt.show()

matplotlib库_坐标轴


matplotlib库_python_02