轴线基本样式设置
- 轴线用于划分绘图区域的边界
- 轴对象位于顶部,底部,左侧和右侧
- 每个轴线可以通过指定颜色和宽度进行格式化
- 如果任何轴线边缘的颜色设置为无,则可以使其不可见
fig, axes = plt.subplots(1, 2, figsize=(10,4))
x = np.arange(1,6)
# 原图
axes[0].plot(x, np.exp(x))
axes[0].plot(x,x**2)
axes[0].set_title("The original image")
axes[0].set_xlabel("x axis")
axes[0].set_ylabel("y axis")
# 设置之后
axes[1].plot(x, np.exp(x))
axes[1].plot(x, x**2)
axes[1].set_title("After setting")
axes[1].set_xlabel("x axis")
axes[1].set_ylabel("y axis")
# 轴线设置
axes[1].spines['bottom'].set_color('blue')
axes[1].spines['left'].set_color('red')
axes[1].spines['left'].set_linewidth(2)
axes[1].spines['right'].set_color(None)
axes[1].spines['top'].set_color(None)
格式化轴线
需求:有时候一个或几个点比大量数据大得多,在这种情况下,轴的比例需要设置为对数(log)而不是正常比例。
原理:这种对数标度在Matplotlib中可以通过将axes对象的xscale或yscale属性设置为log,有时还需要在轴编号和轴标签之间显示一些额外的距离,任一轴(x或y或两者)的labelpad属性都可以设置为所需的值。
fig, axes = plt.subplots(1, 2, figsize=(10,4))
x = np.arange(1,6)
# 正常比例
axes[0].plot(x, np.exp(x))
axes[0].plot(x,x**2)
axes[0].set_title("Normal proportion")
axes[0].set_xlabel("x axis")
axes[0].set_ylabel("y axis")
# 对数刻度
axes[1].plot(x, np.exp(x))
axes[1].plot(x, x**2)
axes[1].set_title("Logarithmic scale(y)")
axes[1].set_xlabel("x axis")
axes[1].set_ylabel("y axis")
axes[1].set_yscale("log")
axes[1].xaxis.labelpad = 20
设置轴线限制
需求:将x轴上的限制格式化为(0到10)和y轴(0到10000)。
fig, axes = plt.subplots(1, 2, figsize=(10,4))
x = np.arange(1,11)
y = np.exp(x)
# 原图
axes[0].plot(x, y)
axes[0].set_title('Index value')
# 设置之后
axes[1].plot(x, y)
axes[1].set_title('Index value')
axes[1].set_xlim(0,10)
axes[1].set_ylim(0,10000)
保存图片
作用:将图像显示结果保存到本地图像文件。
参数 | 说明 |
fname | 含有文件路径的字符串或Python的文件型对象。 |
x = np.arange(0, math.pi*2, 0.05)
y = np.sin(x)
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.plot(x, y)
ax.set_xticks([0,2,4,6])
ax.set_yticks([-1,0,1])
fig.savefig("sin.jpg")