【问题标题】:matplotlib write text in the marginmatplotlib 在页边空白处写入文本
【发布时间】:2011-03-28 19:53:02
【问题描述】:

如果我像这样使用 matlotlib 中的 pylab 制作图表...

import pylab as p
x = [0,1,2]
y = [2,4,6]
p.plot(x,y)
p.show()

我想使用 p.text 函数将文本添加到图表中。但是,我想将文本放在数据窗口之外的边距中。 text 函数只接受与数据点相对应的 x,y 坐标,而不是整个窗口的绝对 x,y 像素坐标。知道如何在页边空白处写文字吗?

【问题讨论】:

    标签: python graph matplotlib plot


    【解决方案1】:

    您可以使用figtext 函数。只注意坐标是 0-1,所以像下面这样将文本放置在垂直轴的左侧:

    p.figtext(0.05, 0.5, 'foo')
    

    有关详细信息,请参阅链接的文档。

    【讨论】:

    • 您好,“相对”坐标是什么?我在哪里可以查到它们的意思(figtext 文档没有给我任何可以告诉我的文档的链接 - 大概这在某处有记录,但我发现它很难找到)。
    【解决方案2】:

    如果您不使用 pyplot 模式,而是想在面向对象的方法中执行此操作,您可以执行以下操作:

    text.set_transform(fig.transFigure)
    

    其中 text 是 matplotlib.text.Text 对象,而 fig 是 matplotlib.figure.Figure 对象。

    【讨论】:

      猜你喜欢
      • 2011-02-21
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多