使用 PDF 后端呈现的图形在我的阅读器中具有“对接”样式。 (如果我放大 pdf 中图形的角,我看不到方角,而是缩短线的重叠。)我想要“圆形”或“投影”(matplotlib 称之为“正方形”)帽式)帽。因此 Spine 对象是有问题的, SpinePatchArtist ,它们似乎都不像 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/

10-12 19:27