2016-04-14 4 views
1

Wenn ich meinen Code zum Generieren eines Diagramms der relativen kumulativen Häufigkeiten eines Datasets ausführen, werden meine Diagramme mit einer geraden Linie an dem Punkt ausgegeben, an dem der Graph die Linie y=1 über schneidet rechte Seite, like this one.Matplotlib kumulatives Häufigkeitsdiagramm mit zusätzlicher Linie in Python

Die y-Achse auf den y=0 zu y=1, Bereich begrenzt repräsentierte 0% bis 100% der kumulativen Frequenz, nachdem der Graph y=1 erreicht, oder 100%, es sollte weiterhin bei y=1 bis zur oberen Grenze von die X-Achse, die von x=0 zu x=2, ähnlich wie this graph geht.

Gibt es eine Möglichkeit sicherzustellen, dass das Historigramm bei nach y=1 fortgesetzt wird? Ich brauche meine X-Achse im Bereich [0,2] und die Y-Achse im Bereich [0,1].

Hier ist mein Python-Code verwende ich meine Grafiken zu erzeugen:

import matplotlib.pyplot as plt 
# ... 
plt.ylabel('Relative Cumulative Frequency') 
plt.xlabel('Normalized Eigenvalues') 
plt.hist(e.real, bins = 50, normed=1, histtype='step', cumulative=True) 
# Limit X and Y ranges 
plt.xlim(0, 2) 
plt.ylim(0, 1) 

Danke, Max

Antwort

0

Sie können dies tun, indem Sie Ihre eigenen Behälter zu schaffen und setting the last bin to np.Inf:

import matplotlib.pyplot as plt 
import numpy as np 
... 
x = np.random.rand(100,1) 

plt.ylabel('Relative Cumulative Frequency') 
plt.xlabel('Normalized Eigenvalues') 

binsCnt = 50 
bins = np.append(np.linspace(x.min(), x.max(), binsCnt), [np.inf]) 
plt.hist(x, bins = bins, normed=1, histtype='step', cumulative=True) 
# Limit X and Y ranges 
plt.xlim(0, 2) 
plt.ylim(0, 1) 
plt.show() 

plot

+0

Wenn ich den Code ausführen, den Sie eingeben, erhalte ich einen Fehler in dieser Zeile: '>>> plt.his t (x, normiert = 1, bins = bins, histtype = 'step', kumulativ = 1) ', was zu dieser Nachricht führt: ' UnboundLocalError: lokale Variable 'ymin' referenziert vor Zuweisung '. –

+0

@MaxSamuels Ich sehe keine lokale Variable ymin. Vielleicht hast du global irgendwo vergessen? Was ist Ymin? – incBrain

+0

Oh, tut mir leid, vergessen, Screenshot zu meiner [Fehlermeldung] hinzufügen (http://i.stack.imgur.com/1O6LM.png). –

Verwandte Themen