【发布时间】:2016-06-06 09:31:32
【问题描述】:
我正在尝试将饼图组织在一个网格中,在左侧的另一列中,我在特定行的饼图上写了一些相关数据。现在我的代码是:
data = [[0.3,0.3,0.3,0.1],[0.2,0.2,0.2,0.4],[0.1,0.1,0.4,0.4]]
def main():
createPieCharts(data)
return 0
def createPieCharts(data,piecharts_fname="piecharts"):
""" """
import datetime
from matplotlib.backends.backend_pdf import PdfPages
import matplotlib.pyplot as plt
areas = ['Arava','Lotz','Paran','Ramon']
thresholds = [0.0,0.01,0.02]
num_columns = len(areas)
num_rows = len(thresholds)
with PdfPages(piecharts_fname+'.pdf') as pdf:
fig, ax = plt.subplots(num_rows,num_columns)
# fig.suptitle('Raining Hogs and Dogs', bbox={'facecolor':'0.8', 'pad':5})
labels = ['Frogs', 'Hogs', 'Dogs', 'Logs']
for i,threshold in enumerate(thresholds):
fracs = data[i]
for j,area in enumerate(areas):
ax[i,j].set_title(area)
ax[i,j].pie(fracs, labels=labels,
autopct='%1.1f%%', shadow=True, startangle=90)
ax[i,j].set_aspect('equal')
plt.tight_layout(pad=0.4, w_pad=0.5, h_pad=1.0)
pdf.savefig(fig)
plt.close()
# Adding metadata for PDF file
d = pdf.infodict()
d['Title'] = 'Pie charts'
d['CreationDate'] = datetime.datetime.today()
if __name__ == '__main__':
main()
结果看起来像这样 虽然我希望它在左边有另一列,就像在这个例子中一样 -
什么是聪明的做法?
【问题讨论】:
标签: python matplotlib charts pie-chart