小编klu*_*onk的帖子

使用科学记数法时定位刻度标签的指数

我正在寻找一种在使用科学计数法时改变指数在轴上的位置的方法。我已经被这个问题困扰过几次了。我已经知道默认格式化程序是ScalarFormatter但它没有选项以某种方式访问​​指数。

有一个解决方法,但我不喜欢它,因为它还会操纵现有的刻度标签。到目前为止,我发现,get_xmajorticklabels()如果使用科学记数法,轴方法返回的列表会多包含一个文本对象。例如:

import matplotlib.pyplot as plt
import numpy as np

fig= plt.figure(figsize = plt.figaspect(0.5))
ax1= fig.add_subplot(121)
ax1.plot(np.arange(146), np.random.rand(146))
print(ax1.get_xmajorticklabels())

ax2= fig.add_subplot(122)
ax2.plot(np.arange(146)*1e-6, np.random.rand(146))
print(ax2.get_xmajorticklabels())
Run Code Online (Sandbox Code Playgroud)

带有结果图的图像

打印给出: <a list of 9 Text xticklabel objects>因此<a list of 10 Text xticklabel objects> 我认为附加列表项可能是指数的文本对象。但当我打印文本时它是空的。

有没有办法以文本对象的形式访问该指数?那么应该可以设置它的位置,不是吗?

python matplotlib

6
推荐指数
1
解决办法
1万
查看次数

matplotlib 中的偏移辅助轴

我正在尝试将 matplotlib 中的不同绘图设置结合在一起。我在 matplotlib 示例库/文档和堆栈中找到了每个示例的很好的示例,但我找不到有关我的具体问题的任何内容。

\n\n

所以到目前为止我所知道的是,如何添加一个或多个具有偏移 y 轴的轴,以便通过使用ax.twinx(). 在示例寄生轴演示中,第三个 y 轴称为寄生轴。但是,如果您想添加一个附加轴(该轴只是现有轴的缩放版本),则可以使用,如辅助轴演示中所示。没有其他数据可供绘制。ax.secondary_yaxis()

\n\n

到目前为止,我无法实现的是与原始 y 轴偏移的辅助 y 轴。这对于使图表在科学界更具可读性非常有帮助。例如,虽然一些科学家使用频率作为电磁频谱的参考,但其他科学家则使用波长或波数。Afsar [1] 使用了一种非常方便的轴标签,其中在同一图中包含所有三个变量:

\n\n

毫米波中电介质的吸收

\n\n

我想要类似的东西,只是在 y 轴而不是 x 轴上。有没有办法使次轴与主轴偏移?我尝试了一些参数但无法弄清楚。

\n\n

感谢您的任何帮助!

\n\n

[1] 穆罕默德·努鲁尔·阿夫萨。\xe2\x80\x9c常见聚合物的复折射率、复介电常数和损耗角正切的精密毫米波测量。\xe2\x80\x9d IEEE 仪器和测量汇刊 IM\xe2\x80\x9336,编号。2(1987 年 6 月):530\xe2\x80\x9336。https://doi.org/10.1109/TIM.1987.6312733

\n\n

[1]:

\n

python plot matplotlib

3
推荐指数
1
解决办法
3378
查看次数

标签 统计

matplotlib ×2

python ×2

plot ×1