Matplotlib ist die bekannteste Zeichenbibliothek von Python. Sie bietet eine Reihe von Befehls-APIs ähnlich wie Matlab, die sich sehr gut für interaktives Zeichnen eignen. Und es kann auch problemlos als Zeichensteuerung verwendet und in GUI-Anwendungen eingebettet werden. Die Dokumentation ist recht vollständig, die Galerieseite enthält Hunderte von Miniaturansichten und nach dem Öffnen verfügen alle über Quellprogramme. Wenn Sie also einen bestimmten Diagrammtyp zeichnen müssen, durchsuchen/kopieren/einfügen Sie einfach diese Seite und schon sind Sie fertig.
In diesem Artikel verwenden wir matplotlib, um Schritt für Schritt den einfachsten Balken zum komplexen Balken zu konstruieren. Was ist der einfachste Balken? Sie werden wissen, wie einfach er ist, indem Sie die folgende Aussage lesen:
import matplotlib.pyplot as plt plt.bar(left = 0,height = 1) plt.show()
Ausführungseffekt:
Ja, drei Just Ein Satz, der einfachste Zeichensatz, den ich je gesehen habe. Zuerst haben wir matplotlib.pyplot importiert, dann direkt seine Bar-Methode aufgerufen und schließlich show verwendet, um das Bild anzuzeigen. Lassen Sie mich die beiden Parameter in bar erklären:
links: die Position des linken Randes der Spalte. Wenn wir 1 angeben, ist der x-Wert des linken Randes der aktuellen Spalte 1,0
Höhe: Dies ist die Höhe der Spalte, die der Wert der Y-Achse links ist. Zusätzlich zur Verwendung eines separaten Werts (dies ist eine Spalte) kann Höhe auch durch ersetzt werden ein Tupel (dies stellt mehrere Rechtecke dar). Zum Beispiel im folgenden Beispiel:import matplotlib.pyplot as plt plt.bar(left = (0,1),height = (1,0.5)) plt.show()
import matplotlib.pyplot as plt plt.bar(left = (0,1),height = (1,0.5),width = 0.35) plt.show()
import matplotlib.pyplot as plt plt.xlabel(u'性别') plt.ylabel(u'人数') plt.bar(left = (0,1),height = (1,0.5),width = 0.35) plt.show()
import matplotlib.pyplot as plt plt.xlabel(u'性别') plt.ylabel(u'人数') plt.xticks((0,1),(u'男',u'女')) plt.bar(left = (0,1),height = (1,0.5),width = 0.35) plt.show()
import matplotlib.pyplot as plt plt.xlabel(u'性别') plt.ylabel(u'人数') plt.xticks((0,1),(u'男',u'女')) plt.bar(left = (0,1),height = (1,0.5),width = 0.35,align="center") plt.show()
plt.title(u"性别比例分析")
import matplotlib.pyplot as plt plt.xlabel(u'性别') plt.ylabel(u'人数') plt.title(u"性别比例分析") plt.xticks((0,1),(u'男',u'女')) rect = plt.bar(left = (0,1),height = (1,0.5),width = 0.35,align="center") plt.legend((rect,),(u"图例",)) plt.show()
def autolabel(rects): for rect in rects: height = rect.get_height() plt.text(rect.get_x()+rect.get_width()/2., 1.03*height, '%s' % float(height))
import matplotlib.pyplot as plt def autolabel(rects): for rect in rects: height = rect.get_height() plt.text(rect.get_x()+rect.get_width()/2., 1.03*height, '%s' % float(height)) plt.xlabel(u'性别') plt.ylabel(u'人数') plt.title(u"性别比例分析") plt.xticks((0,1),(u'男',u'女')) rect = plt.bar(left = (0,1),height = (1,0.5),width = 0.35,align="center") plt.legend((rect,),(u"图例",)) autolabel(rect) plt.show()
rect = plt.bar(left = (0,1),height = (1,0.5),width = 0.35,align="center",yerr=0.000001 )