如何在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()

输出

更新于:2021年6月10日

4K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告