我想将图例放在绘图框外面。我找不到干净的方法来做到这一点。主要问题是保存文件的所有内容。我唯一能够弄清楚的是这段代码:
#! /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')
有几点需要注意:
matplotlib.use('pdf')
tight_layout
中的0.8是通过试验和错误找到的。如果我将label="test"
替换为label="this is a very very long test"
,则图例将再次离开文件的边框。我希望自动调整。我无法检索图例的大小。 l.get_frame().get_width()
似乎总是返回1.0。tight_layout
会更改图表的大小。我想要实现的是:以cm(或以英寸为单位)指定绘图的大小。将图例放在图表外。拥有一个正确大小的文件,以便一切都适合,包括图例;无需诉诸审判和错误。