在分组图之外传递传奇

时间:2016-03-15 16:10:43

标签: python pandas matplotlib

我正在使用以下代码创建基于groupby的多个图:

import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages

with PdfPages(r'F:\Sheyenne\Statistics\IDL_stats\time_series.pdf') as pdf:
   for i, group in df.groupby('Allotment'):


       plt.figure()
       plt.legend(loc='center left', bbox_to_anchor=(1, 0.5))
       VI_plots=group.plot(x='Year', y=['NDII_Mean', 'RGR_Mean', 'SATVI_Mean', 'SWIR32_Mean', 'NDVI_Mean', 'MTVI_Mean'],title=str(i)).get_figure()
       pdf.savefig(VI_plots)  
       plt.close(VI_plots)
print "Done Processing"

我想把这个传说带到情节之外,这就是我想用这条线做的事情:

plt.legend(loc='center left', bbox_to_anchor=(1, 0.5))

但实际上并没有把它拿出来。代码执行就像我想要的那样,除了那个部分,我无法弄清楚原因。

1 个答案:

答案 0 :(得分:4)

我认为你对传说有矛盾的指示。告诉它loc='center left'意味着你想要它在图中,而bbox_to_anchor告诉它将它放在别处。此外,您的bbox_to_anchor位置(1,0.5)实际上并未将图例从图中取出,而是将其置于右边缘。尝试使用

plt.legend(bbox_to_anchor=(1.5, 0.5))