Nil*_*ils 10 python matplotlib legend
我正在绘制一组饼图,每个饼图对相同的两种类型的数据使用相同的两种颜色.
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()
Run Code Online (Sandbox Code Playgroud)
显然,为这些图表中的每一个绘制图例是没有意义的,因为它们都是相同的.那么有什么方法可以将一个图例最终绘制成一个单独的子图形?
HYR*_*YRY 16
你只能调用一次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()
Run Code Online (Sandbox Code Playgroud)

或者如果你想在新轴上使用图例,只需创建一个虚拟饼图,然后为它创建图例,然后隐藏虚拟饼图:
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%%')
fig = pl.gcf()
axe = fig.add_axes([0.4,0.4,0.2,0.2])
pie = pl.pie([1,1], labels=["a","b"])
l = pl.legend(title="sample", loc="center")
for group in pie:
for x in group:
x.set_visible(False)
pl.show()
Run Code Online (Sandbox Code Playgroud)

| 归档时间: |
|
| 查看次数: |
12413 次 |
| 最近记录: |