Matplotlib - 格式化坐标轴
有时,一个或几个点比大量数据大得多。 在这种情况下,坐标轴的刻度需要设置为对数刻度而不是正常刻度。 这是对数刻度。 在 Matplotlib 中,可以通过将坐标轴对象的 xscale 或 vscale 属性设置为"log"。
有时还需要在坐标轴号和坐标轴标签之间显示一些额外的距离。 任一坐标轴(x 或 y 或两者)的 labelpad 属性都可以设置为所需的值。
以上两个功能都在以下示例的帮助下进行了演示。 右边的子图有一个对数刻度,左边的子图有它的 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()
坐标轴脊线是连接坐标轴刻度线的线条,这些刻度线划定绘图区域的边界。 坐标轴对象的脊线位于顶部、底部、左侧和右侧。
每个脊线都可以通过指定颜色和宽度来格式化。 如果将其颜色设置为无,则可以使任何边缘不可见。
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()