如何让 xticks 的间距均匀分布而不受其值影响? (Matplotlib)

matplotlibpythondata visualization

为了使 xticks 的间距均匀,而不管其值如何,我们可以使用 set_ticks()set_ticklabels() 方法。

步骤

  • 设置图形大小并调整子图之间和周围的填充。
  • 使用 numpy 创建 xy 数据点。
  • 使用 subplots() 方法创建一个图形和一组子图。
  • 在轴 1 上绘制 xy 数据点。
  • 使用 xaxis.set_ticks() 方法设置 xticks
  • 绘制 x 和轴 2 上的 y 个数据点。
  • 使用 xaxis.set_ticks()xaxis.set_ticklabels() 方法设置 xticks 和 ticklabels。
  • 要显示图形,请使用 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()

输出


相关文章