如何在Matplotlib中即使刻度值不均匀也能使x轴刻度均匀分布?
为了使x轴刻度即使刻度值不均匀也能均匀分布,我们可以使用 **set_ticks()** 和 **set_ticklabels()** 方法。
步骤
- 设置图形大小并调整子图之间和周围的填充。
- 使用numpy创建 **x** 和 **y** 数据点。
- 使用 **subplots()** 方法创建一个图形和一组子图。
- 在轴1上绘制 **x** 和 **y** 数据点。
- 使用 **xaxis.set_ticks()** 方法设置 **xticks**。
- 在轴2上绘制 **x** 和 **y** 数据点。
- 使用 **xaxis.set_ticks()** 和 **xaxis.set_ticklabels()** 方法设置 **xticks** 和刻度标签。
- 要显示图形,请使用 **show()** 方法。
示例
import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True x = np.array([1, 1.5, 3, 5, 6]) y = np.power(2, x) fig, (ax1, ax2) = plt.subplots(2, 1) ax1.plot(x, y) ax1.xaxis.set_ticks(x) ax2.plot(x, y) ax2.xaxis.set_ticks(range(len(x))) ax2.xaxis.set_ticklabels(x) plt.show()
输出
广告