2016-06-22 10 views
2

Type of chart that I want So habe ich ein Wörterbuch mit mehreren Listen:Iterate über einen Wörterbuch mit Listen n Nebenhandlungen erstellen

{'A' : [1,2,4,6,7,8,10], 
'B' : [1,2,4,6,4,3,7], 
'C' : [3,2,1,6,2,3,4]} 

Zur gleichen Zeit, diese Wörterbücher durch eine Funktion erzeugt werden, und sie haben unterschiedliche Größen, aber sie übersteigen nie ... 6,7?

Ich muss einen Weg finden, plotting (matplotlib) so viele gestapelte Diagramme wie die Anzahl der Einträge in meinem Wörterbuch, mit den Werten im Wörterbuch als meine y_axis und deren Index als x_axis. Ich understad Ich würde nie in eine Schleife einfügen, aber ich weiß nicht, was der beste Weg ist, dass in matplotlib zu tun, wie ich nicht in ihm gut auskenne.

Antwort

2

könnte ein Weg sein, es zu tun, ohne Looping, aber hier ist ein Weg, es zu tun mit Looping. Es sei denn, Sie Lasten und Lasten dieser Wörterbücher haben sollte dies funktionieren:

import numpy as np 
import seaborn as sns 
from matplotlib import pyplot as plt 

data = {'A' : [1,2,4,6,7,8,10],'B' : [1,2,4,6,4,3,7], 'C' : [3,2,1,6,2,3,4]} 
fig, ax = sns.plt.subplots(len(data), 1, figsize=(7,5)) 
for a,key in zip(ax,data.keys()): 
    y = data[key] 
    n = len(y) 
    x = np.linspace(1,n,n) 
    a.plot(x,y) 
    # add labels/titles and such here 

plt.show() 

Gibt folgendes: enter image description here

Wenn Sie Seaborn nicht haben, ersetzen

fig, ax = sns.plt.subplots(len(data), 1, figsize=(7,5)) 

mit der Ebene matplotlib

fig, ax = plt.subplots(len(data), 1, figsize=(7,5)) 
+0

Hallo! Dies funktioniert gut für kleine Mengen von Wörterbüchern, aber Abstürze für große Mengen von Wörterbüchern (> 35)! Was wäre meine Alternative für diese Datensätze? – Nico

+0

können Sie mir ein bisschen mehr erzählen? Was verursacht den Absturz oder welcher Fehler wird ausgelöst? – benten

+0

Jetzt kann ich den Fehler nicht mehr replizieren. Gut, ich schätze. Übrigens, wie könnte ich das Label jedes Subplots zu seinem Schlüssel im Wörterbuch machen? – Nico