无涯教程-Matplotlib - 格式化轴

157 阅读1分钟

在Matplotlib中,可以通过将axis对象的xscale或vscale属性设置为" log"来实现。

在以下示例的帮助下展示了上述两个功能,右侧的子图具有对数标度,左侧的子图的x轴具有更远距离的标签。

import matplotlib.pyplot as plt
import numpy as np
fig, axes = plt.subplots(1, 2, figsize=(10,4))
x = np.arange(1,5)
axes[0].plot( x, np.exp(x))
axes[0].plot(x,x**2)
axes[0].set_title("Normal scale")
axes[1].plot (x, np.exp(x))
axes[1].plot(x, x**2)
axes[1].set_yscale("log")
axes[1].set_title("Logarithmic scale (y)")
axes[0].set_xlabel("x axis")
axes[0].set_ylabel("y axis")
axes[0].xaxis.labelpad = 10
axes[1].set_xlabel("x axis")
axes[1].set_ylabel("y axis")
plt.show()
Formatting Axes

Axis spines是连接轴刻度的线,它们划定了绘图区域的边界。 axes 对象的顶部,底部,左侧和右侧都有spine。

如果将任何边缘的颜色设置为无,则可以使其不可见。

import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
ax.spines[bottom].set_color(blue)
ax.spines[left].set_color(red)
ax.spines[left].set_linewidth(2)
ax.spines[right].set_color(None)
ax.spines[top].set_color(None)
ax.plot([1,2,3,4,5])
plt.show()
Axis Spines

参考链接

www.learnfk.com/matplotlib/…