Ich versuche, ein Balkendiagramm mit Matplotlib für Python zu machen. Ich kann ein normales Diagramm erstellen, aber wenn ich es in den logarithmischen Modus setze, damit ich die Daten besser sehen kann, sieht die x-Achse so aus, als würde sie komprimieren. Was ist los? Hinweis: alle Datensätze haben einen Mindestwert von 1.Warum ist meine Matplotlib Balkendiagramm Komprimierung der X-Achse, wenn ich 'log'
x = [t[0] for t in data]
y = [t[1] for t in data]
x_pos = np.arange(len(x))
plt.bar(x_pos, y, color='blue', log=False)
plt.xlabel(x_label)
plt.ylabel(y_label)
plt.title(title)
plt.xlim([0, len(x)])
#plt.yscale('log')
#plt.semilogy(x_pos, np.exp(-x_pos/5.0))
plt.savefig(output_path + '/' + filename)
Aber gerade durch log=False
zu log=True
Wechsel erhalte ich:
Was mache ich falsch? Ich möchte nur eine komprimierte Ansicht des ersten Graphen auf der y-Achse erhalten. Wie Sie sehen können, habe ich auch versucht yscale('log')
, aber ich bekomme das gleiche Ergebnis.
Danke!
EDIT: Sieht aus wie es etwas mit den vorherigen Zeilen zu tun hat, als ich die erste Zeile entfernen es funktioniert gut, ist aber unsortiert:
data = sorted(data, key=lambda tup: tup[1], reverse=True)
# tuples (pair,count)
x = [t[0] for t in data]
y = [t[1] for t in data]
Danke, mein Herr! Das war in der Tat das Problem! – skaz