将图例放在图表外

时间:2013-12-28 14:20:25

标签: python matplotlib

我想将图例放在绘图框外面。我找不到干净的方法来做到这一点。主要问题是保存文件的所有内容。我唯一能够弄清楚的是这段代码:

#! /usr/bin/python
import matplotlib
# matplotlib.use('pdf')

from matplotlib.pyplot import *
subplot(111)
plot([1,2,3], label="test1")
l=legend(bbox_to_anchor=(1.05, 1), loc=2,borderaxespad=0)
tight_layout(rect=(0,0,0.8,1))
savefig('test.pdf')

有几点需要注意:

  1. tight_layout似乎与matplotlib.use('pdf')
  2. 不兼容
  3. tight_layout中的0.8是通过试验和错误找到的。如果我将label="test"替换为label="this is a very very long test",则图例将再次离开文件的边框。我希望自动调整。我无法检索图例的大小。 l.get_frame().get_width()似乎总是返回1.0。
  4. tight_layout会更改图表的大小。我想要实现的是:以cm(或以英寸为单位)指定绘图的大小。将图例放在图表外。拥有一个正确大小的文件,以便一切都适合,包括图例;无需诉诸审判和错误。

1 个答案:

答案 0 :(得分:0)

您可以this查看Joe Kington问题的答案。 答案描述了关于图例放置的大部分选项。