3

我正在尝试制作与此类似的情节

在此处输入图像描述

因为有完全重叠的曲线,我喜欢他把图例放在曲线上的方式,所以他可以绘制这么多曲线而不会造成混乱,并且有一个单独的图显示这些图例所代表的含义。

当我试图在 Matlab 中制作这个情节时,但我不知道如何制作这样的图例。带有网格的双对数也是一团糟。

如何使用 matplotlib 或 Matlab 制作此图?matplotlib 更灵活吗?

4

1 回答 1

1

只需使用annotate,这应该可以让你达到 90%:

x = np.linspace(0,1000)
y = x ** -2

figure()
ax = gca()
ax.loglog(x,y)
ax.grid(True)
ax.grid(True, which='minor')

ax.annotate('a1', (x[15], y[15]),
            backgroundcolor='w',
            color='b',
            va='center',
            ha='center',
            bbox=dict(boxstyle="round", color='b'),)

annotate文档示例。获得圈子可能会很棘手。如果你真的想使用圆圈,我建议在 github 上提交功能请求。(看起来像几个小时的挖掘 mpl 胆量来添加椭圆边界框)。

于 2013-02-10T18:32:52.193 回答