自动设置记号标签

设置刻度自动放置的行为。

如果您没有明确设置刻度位置/标签,Matplotlib将尝试根据显示的数据及其限制自动选择它们。

默认情况下,这会尝试选择沿轴分布的刻度位置:

  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. np.random.seed(19680801)
  4. fig, ax = plt.subplots()
  5. dots = np.arange(10) / 100. + .03
  6. x, y = np.meshgrid(dots, dots)
  7. data = [x.ravel(), y.ravel()]
  8. ax.scatter(*data, c=data[1])

自动设置记号标签示例

有时选择均匀分布的刻度会产生奇怪的刻度数。 如果您希望Matplotlib保持位于圆形数字的刻度线,则可以使用以下rcParams值更改此行为:

  1. print(plt.rcParams['axes.autolimit_mode'])
  2. # Now change this value and see the results
  3. with plt.rc_context({'axes.autolimit_mode': 'round_numbers'}):
  4. fig, ax = plt.subplots()
  5. ax.scatter(*data, c=data[1])

自动设置记号标签示例2

输出:

  1. data

您还可以通过轴改变数据周围轴的边距。(x,y)边距:

  1. with plt.rc_context({'axes.autolimit_mode': 'round_numbers',
  2. 'axes.xmargin': .8,
  3. 'axes.ymargin': .8}):
  4. fig, ax = plt.subplots()
  5. ax.scatter(*data, c=data[1])
  6. plt.show()

自动设置记号标签示例3

下载这个示例