我正在绘制一个饼图阵列,每个都使用相同的两种类型的数据相同的两种颜色.
plt.figure(num=None,figsize=(6,8)) for i in range(len(data_1)): plt.subplot(sp_rows,sp_cols,i+1) fracs = [data_1[i],data_2[i]] plt.pie(fracs,autopct='%1.1f%%') pp.savefig()
显然,为这些图表中的每一个绘制一个图例是没有意义的,因为它们都是一样的.那么有什么办法可以把一个单独的图例分解成一个单独的子图最后呢?
解决方法
您可以仅传呼一次legend():
import numpy as np import pylab as pl for i in xrange(1,5): pl.subplot(220+i) pl.pie([i,2],labels=["a","b"],autopct='%1.1f%%') l = pl.legend(title="sample") pl.show()
或者如果您想要在新轴上的图例,只需创建一个虚拟饼图,并为其创建图例,然后隐藏虚拟饼图:
import numpy as np import pylab as pl for i in xrange(1,autopct='%1.1f%%') fig = pl.gcf() axe = fig.add_axes([0.4,0.4,0.2,0.2]) pie = pl.pie([1,1],"b"]) l = pl.legend(title="sample",loc="center") for group in pie: for x in group: x.set_visible(False) pl.show()