跳到主要内容

pyplot 原点相交的坐标轴与箭头

· 阅读需 5 分钟
Chengyu HAN
Open Source Contributor

如何在 pyplot 中画出原点相交的&带箭头的坐标轴

我就想画个简单的 SVG 图,懒得开 Ai 了(虽然下面这个图还是用 Ai 画的),希望用 pyplot 直接画。

![的图像](ReLU.svg ReLU)

pyplot 自带的坐标轴在左下角相交,并且没有箭头。

用自带的 ax.spines['bottom'].set_position(('data',0)) 可以做到原点相交,但貌似加不了箭头。 ref: Moving spines - Matplotlib tutorial

mpl_toolkits.axisartist.axislines 包里的 SubplotZero 可以画出原点相交的坐标轴, 可以加箭头。但没办法加上大箭头(默认的 size=1 太小,更大的画/显示不出来)。 ref: Axis line styles

最后看到 sf 上强行直接画箭头的就简单粗暴很符合要求。 ref: python - How to make 'fuller' axis arrows with matplotlib - Stack Overflow