Matplotlib 估计文本宽度错误

发布于 2024-09-18 11:22:21 字数 345 浏览 2 评论 0原文

当使用 Matplotlib (Pylab) 渲染具有与 AriaL 相同度量的文本(例如,Arial 本身或 Liberation Sans)时,输出看起来不错 - 例如,图例框的宽度是正确的。

然而,当使用其他字体时,Matplotlib 似乎错误地估计了文本的预期大小。例如,使用 Bitstream Vera Sans 时,文本似乎比 Matplotlib 预期的要宽:例如,文本的右侧有时与图例框的右侧重叠。

类似地,当使用 use_latex 让 Latex 渲染输出时,文本似乎比预期窄,并且文本右侧和图例框之间有一个额外的空间。

这是 Matplotlib 中的错误吗?或者我应该使用 Arial 规格的字体吗?

When using Matplotlib (Pylab) for rendering Text with the same metrics as AriaL (e.g., Arial itself or Liberation Sans) output looks ok - e.g., the width of the legend box is right.

However, when using other fonts it seems that Matplotlib wrongly estimates the expected size of the text. For example, with Bitstream Vera Sans the text seems to be wider than expected by Matplotlib: E.g., the right-hand side of the text sometimes overlaps with the right-hand side of the legend's box.

Similiarly, when using use_latex to let Latex render the output the text seems to be narrower than expected, and there's an additional space between the right-hand side of the text and the legend's box.

Is this a bug in Matplotlib? Or am I expected to use fonts with the metrics of Arial?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

-黛色若梦 2024-09-25 11:22:21

我在 linux (ubuntu 10.04) 上运行 matplotlib 版本 0.99.1.1,无法重现该问题。这是我正在使用的代码。

import pylab
a = [1,2,1]
label = "This long label isn't too long."
for family in ['Arial', 'Liberation Sans', 'Bitstream Vera Sans']:
    pylab.figure()
    pylab.plot(a)
    pylab.legend([label], prop={'family':family})
pylab.show()

I'm running matplotlib version 0.99.1.1 on linux (ubuntu 10.04) and cannot reproduce the problem. Here is the code I'm using.

import pylab
a = [1,2,1]
label = "This long label isn't too long."
for family in ['Arial', 'Liberation Sans', 'Bitstream Vera Sans']:
    pylab.figure()
    pylab.plot(a)
    pylab.legend([label], prop={'family':family})
pylab.show()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文