2017-04-06 7 views
2

Ich habe über das Forum gesucht, aber ich konnte die Antwort auf mein Problem noch nicht finden.Python - Legende neben Plot und in gespeicherten Figur

Ich möchte zwei Tortendiagramme nebeneinander mit einer Legende daneben erstellen.

labels = ['0-20', '20-40', '40-60', '60-80', '80-100', '100-120'] 
colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue', 'orange', 'grey'] 

fig, [ax1, ax2] = plt.subplots(1,2) 
ax1.pie(groen, colors = colors, startangle = 90, counterclock = False) 
ax1.axis('equal') 

ax2.pie(rood, colors = colors, startangle = 90, counterclock = False) 
ax2.axis('equal') 
plt.legend(labels, loc = 'best')#, bbox_to_anchor=(0.5, 0), mode = 'expand', ncol = 2) 

Ich habe schon einiges ausprobiert, aber leider ohne Ergebnisse. Was schief geht ist, dass die Legende nicht vollständig im gespeicherten Bild ist, wie unten zu sehen ist. Ich habe auch einen weißen Balken und die Legende ist in der falschen Reihenfolge. Ich möchte es von links nach rechts, von oben nach unten lesen.

enter image description here

Jede Hilfe ist willkommen;)

+1

habe Sie Legende Lage: http://matplotlib.org/users/legend_guide.html ...? – Dadep

+0

Es gibt auch eine detaillierte Antwort hier: http://stackoverflow.com/questions/43272206/python-legend-overlaps-with-the-pie-chart/43281595 – ImportanceOfBeingErnest

Antwort

1

Wenn mit dem folgenden Code

import matplotlib.pyplot as plt 
groen = rood = [7,8,12,4,9,5] 
labels = ['0-20', '20-40', '40-60', '60-80', '80-100', '100-120'] 
colors = ['gold', 'yellowgreen', 'lightcoral', 'lightskyblue', 'orange', 'grey'] 

fig, [ax1, ax2] = plt.subplots(1,2) 
ax1.pie(groen, colors = colors, startangle = 90, counterclock = False) 
ax1.axis('equal') 

ax2.pie(rood, colors = colors, startangle = 90, counterclock = False) 
ax2.axis('equal') 
plt.legend(labels, loc = 8, ncol = 2) 

plt.savefig(__file__+".png", bbox_inches="tight") 
plt.show() 

Everthing wie erwartet funktioniert, denke ich. Beachten Sie das Argument bbox_inches="tight", bei dem die Größe der Figur so verkleinert oder vergrößert wird, dass nichts abgeschnitten wird.

enter image description here

Verwandte Themen