在图中显示自定义刻度值

时间:2019-04-24 10:07:33

标签: python matplotlib

假设我绘制了一个图,并且在该图中有一个特定点,在该点上我从x轴绘制垂直线。例如,此点具有x值33.55。但是,我的刻度线间隔从0到100大约是10或20。 所以基本上:有没有一种方法可以将此单个自定义值添加到刻度轴,以便它与之前的所有其他值一起显示?

1 个答案:

答案 0 :(得分:1)

使用np.append添加到刻度线数组:

import numpy as np

from matplotlib import pyplot as plt

x = np.random.rand(100) * 100
y = np.random.rand(100) * 100

fig, ax = plt.subplots(figsize=(8, 6))

ax.scatter(x, y)

ax.set_xticks(np.append(ax.get_xticks(), 33.55))

enter image description here

请注意,如果您的绘图不够大,则刻度线标签可能会重叠。

如果您想让新的滴答声“清除其轨道”,可以这么说:

special_value = 33.55
black_hole_radius = 10
new_ticks = [value for value in ax.get_xticks() if abs(value - special_value) > black_hole_radius] + [special_value]

ax.set_xticks(new_ticks)

enter image description here