【发布时间】:2022-12-03 00:13:47
【问题描述】:
有没有办法始终将 Matplotlib 的 x 轴上的刻度放置在轴的开始、中间和末端,而不是 Matplotlib 自动放置它们?例如,我有一个如下所示的图。 matplotlib plot 有没有办法总是在最开始放置 25,在中间放置 80,在最后放置 95? 这是我在 Jupyter Notebook 中尝试的代码:
import matplotlib.pyplot as plt
def box(ax_position, percentile_values, label, label_position):
fig = plt.figure(figsize = (10, 2))
ax1 = fig.add_axes(ax_position)
ax1.set_xticks(percentile_values)
ax1.tick_params(axis="x",direction="out", pad=-15, colors='b')
ax1.set_yticks([])
ax1.text(*label_position, label, size=8)
plt.show()
box((0.4, 0.5, 0.4, 0.1), (25,80,95), "CA",(0.01, 1.3))
在 percentile_values 中传递的值的数量将始终为 3,并且这 3 个始终需要放在开头、中间和结尾 - 但 Matplotlib 会自动根据数值放置这些刻度。这就是我要找的: what I need
我尝试使用 matplotlib.ticker.FixedLocator,但这对我没有帮助,虽然我只能显示 3 个刻度,但刻度的位置由 Matplotlib 选择,而不是放在开头、中间和结尾。
【问题讨论】:
标签: python matplotlib