【发布时间】:2017-01-02 01:40:29
【问题描述】:
有没有办法锚定 x 轴的刻度和刻度标签,使它们在与实际 x 轴与 y 轴相交的位置不同的位置与 y 轴相交?这基本上可以通过以下方式完成:
ax = plt.gca()
ax.get_xaxis().set_tick_params(pad=5)
或
ax.xaxis.set_tick_params(pad=500)
例如:
除了我正在处理音频文件输入并且 y 轴是可变的(基于波形的最高/最低幅度)。因此,最大和最小 y 轴值会根据音频文件而变化。我担心pad=NUM 会相对于 y 轴移动。
因此,我正在寻找一种方法来完成 pad 所做的事情,但是将刻度和刻度标签锚定在最小 y 轴值处。
作为奖励,将其翻转以使 y 轴锚定在与 y 轴刻度标签不同的位置肯定也会使某人受益。
在我的特定情况下,我的 x 轴在 y=0 处与 y 轴相交。 x轴刻度和刻度标签有时会在-1.0,有时在-0.5,有时在-0.25等。我总是知道y轴的最小值是多少,因此希望它成为锚点用于 x 轴刻度和刻度标签。 (事实上,我很乐意只使用 x 轴刻度标签,如果可以分别处理刻度和刻度标签)。上图中显示了一个示例(我使用pad=500 完成)。
我查看了其他线程和文档,但我要么错过了它,要么不知道找到它的正确术语。
【问题讨论】:
-
另外,我发现在子图中包含波形需要更改填充。因此,能够摆脱
pad并将其锚定到 y 轴上的值也是此方法的首选。
标签: python matplotlib