有没有办法检测 Matplotlib 图中的缩放并根据缩放级别设置次要刻度格式?

Tom*_*Tom 7 python matplotlib zooming axis-labels

我想绘制大范围的数据,但能够放大并获得分辨率。我需要使用自定义主要和次要刻度格式,因此我无法使用缩放级别动态设置它们。这个问题有实际的解决办法吗?

wil*_*ill 3

您只需创建自己的tick formatter并将其附加到axes对象即可。

这个例子有你需要的一切。本质上,创建一个函数,它接受刻度值,并返回您想要的刻度标签 - 调用它my_formatter,然后执行以下操作:

ax.xaxis.set_major_formatter(ticker.FuncFormatter(my_formatter))
Run Code Online (Sandbox Code Playgroud)

以及可选的

ax.xaxis.set_minor_formatter(ticker.FuncFormatter(my_formatter))
Run Code Online (Sandbox Code Playgroud)

ticker.FuncFormatter(my_function)为您创建自定义格式化程序。

  • 该答案没有回答根据缩放级别设置次要刻度的问题 (4认同)