使用 PDF 后端呈现的图形在我的阅读器中具有“对接”样式。 (如果我放大 pdf 中图形的角,我看不到方角,而是缩短线的重叠。)我想要“圆形”或“投影”(matplotlib 称之为“正方形”)帽式)帽。因此 Spine
对象是有问题的, Spine
是 Patch
是 Artist
,它们似乎都不像 set_solid_capstyle()
的 Line2D
,所以我不确定如何或在哪里强制特定的capstyle,或者它是否甚至可能的。
最佳答案
我不认为这是可能的。我在我的主脚本中做了一点后端工作,设置了一个 RendererPdf
(在 backend_pdf.py
中定义)并包含一个 GraphicsContextPdf
,它是一个 GraphicsContextBase
,它保持一个 capstyle,初始化为 butt
。正如 grep
所确认的那样,这是 butt
被硬编码为 capstyle 的唯一地方。经过一些 ipython 调试后,我发现每次绘制补丁时都会生成一个新的 GraphicsContextPdf
或“gc”(参见 patches.py:392
,通过主脚本中必要的 fig.draw()
调用),以及新 gc 的设置(再次初始化为 butt
) 被合并到原始 RendererPdf
的 gc 中。所以一切都得到了 butt
capstyle。 Line2D
对象不是补丁,因此它们可以维护特定的 capstyle。
关于python - 为 pdf 后端设置刺的帽样式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22108095/