Erstellen von Balkendiagrammen in Python
Ich habe ein paar Probleme mit dem Balkendiagramm, die ich versuche zu schaffen in python. Mein code für das Diagramm sieht so aus:
import matplotlib
matplotlib.use('Agg')
from pylab import *
import calendar
def webshow(img):
savefig(img,dpi=500)
print 'Content-Type: text/html\n'
print '<img width="800" height="400" src="'+img+'" />'
genres = []
n = 0
for c in sorted_list:
genres.append(sorted_list[n][0])
n += 1
grosses = []
a = 0
for c in sorted_list:
grosses.append(sorted_list[a][1])
a += 1
clf()
bar(arange(len(grosses)),grosses)
xticks( arange(len(genres)),genres, rotation=80)
webshow("barchart.png")
Mein Diagramm sieht so aus:
eine Katze beschäftigt http://28.media.tumblr.com/tumblr_ltk9v6xShD1r5te58o1_500.png
Im Grunde mein Hauptproblem ist, dass die Werte in Dezimalzahlen, mit der wissenschaftlichen notation. Ich möchte Sie in Millionen, wenn möglich. Auch bin ich mir nicht sicher, wie Sie Sie zu die es so machen, die genres werden nicht abgeschnitten am unteren Rand. Vielen Dank für jede Hilfe!!!
InformationsquelleAutor jb37 | 2011-10-24
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als erstes würde ich eine
figure
Objekt zu arbeiten: dies macht es einfacher zu konstruieren ist, das Grundstück nach Ihren wünschen. Konstruieren Sie Ihr Diagramm sollte Folgendes tun:Zusammen mit den folgenden Bemerkungen:
tight_layout
- Funktion, um dies automatisch für Sie erledigen. Die alternative ist, berechnen Sie die benötigte Größe, indem Sie sich auf der Grundlage der bounding Boxen aller Achsen Etiketten wie abgebildet hier, aber Sie brauchen einen renderer für diese bestimmen zu können, werden die Größen aller Etiketten.sci
oderplain
), Sie können ändern Sie die Darstellung der Werte. Bei der Verwendung vonplain
ist, wird es nur Rendern der Wert so wie er ist. Finden Sie die docs auf diese Funktion für mehr info. Beachten Sie, dass Sie können auch dieset_yticklabels
Funktiontext
argument zur Steuerung der Formatierung weiter (natürlich, die Funktion ist auch für die x-Achse.InformationsquelleAutor jro