相关疑难解决方法(0)

有没有一种方便的方法可以将比例指示器添加到 matplotlib 中的绘图中?

我想在下面的(否则)空图中标记为“10kpc”的图中添加一个比例指示器。所以基本上,轴使用一个度量单位,我想用不同的单位表示图中的长度。它必须具有与下面相同的样式,即|----| 上面有文字的栏。

在 matplotlib 中是否有一种方便的方法来做到这一点,还是我必须画三行(两条小垂直线,一条水平线)并添加文本?一个理想的解决方案甚至不需要我在数据维度中设置坐标,即我只是说一些沿线的内容horizontalalignment='left', verticalalignment='bottom', transform=ax.transAxes并仅指定数据坐标中的宽度。

在我得出结论之前,我与annotate()arrow()和他们的文档争吵了一下,他们并不是很有用,但我可能是错的。

编辑:

下面的代码是最接近的,我到目前为止。我仍然不喜欢在数据坐标系中指定 x 坐标。我唯一想在数据中指定的是条的宽度。其余部分应放置在绘图系统中,理想情况下,条形图应相对于文本(上方几个像素)放置。

import matplotlib.pyplot as plt 
import matplotlib.transforms as tfrms
plt.imshow(somedata)
plt.colorbar()
ax = plt.gca()
trans = tfrms.blended_transform_factory( ax.transData, ax.transAxes )
plt.errorbar( 5, 0.06, xerr=10*arcsecperkpc/2, color='k', capsize=5, transform=trans )
plt.text( 5, 0.05, '10kpc',  horizontalalignment='center', verticalalignment='top', transform=trans )
Run Code Online (Sandbox Code Playgroud)

带有刻度指示器的空图

annotations matplotlib

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

标签 统计

annotations ×1

matplotlib ×1