如何在双x轴和y轴上格式化次要刻度,这两个刻度都是对数缩放的?

我有想要显示两个不同比例的数据。 Matplotlib文档(例如this one)包含一些示例,这些示例将x轴或y轴(不是两个)都成对,并且这些示例都没有显示对数缩放时如何操纵x和y轴的次刻度。

这是我的问题:如何在双x和双y轴上格式化次要刻度,这两个都是对数缩放的?在下面的示例中,常规xy轴是线性缩放的(用下标'表示),而备用/镜像/双xy轴是对数缩放的(用下标i表示)。函数j是从similar question借来的。另外,我正在使用twinboth而不是this post中建议的LogLocator

AutoMinorLocator

此代码生成下图,该图未显示任何小滴答声。

如何在双x轴和y轴上格式化次要刻度,这两个刻度都是对数缩放的?

wflwfl 回答:如何在双x轴和y轴上格式化次要刻度,这两个刻度都是对数缩放的?

您的次要壁虱被您的主要壁虱隐藏了。

axj.set_xscale('log',basex=2)
axj.set_yscale('log',basey=2)

将“双轴”的标度设置为对数,对数主刻度(4,16,64,256,1024)也是如此。

axj.xaxis.set_minor_locator(ticker.LogLocator(base=2))
axj.yaxis.set_minor_locator(ticker.LogLocator(base=2))

这,在对数位置上加上小勾号,将为4,1024;就像你的专业在打勾。

您想要做的是:

axi.xaxis.set_minor_locator(ticker.LogLocator(base=2))
axi.yaxis.set_minor_locator(ticker.LogLocator(base=2))

在线性轴上添加次对数刻度,或者:

axj.xaxis.set_minor_locator(ticker.LinearLocator())
axj.yaxis.set_minor_locator(ticker.LinearLocator())

在对数轴上添加次要的线性刻度。

本文链接:https://www.f2er.com/2765974.html

大家都在问