Ich habe den folgenden Code:Hinzufügen von Linien Schnittpunkte in Matplotlib beschreiben
plt.figure(figsize=(12,8))
plt.plot(range(0, 60), cum_var,'g--', label='explained ratio')
plt.plot(range(0, 60), 1 - cum_var, 'r--', label='error ratio')
thre_95 = 0.95 * np.ones(60)
thre_99 = 0.99 * np.ones(60)
plt.plot(range(0, 60), thre_95, 'k_', label='0.95 threshold')
plt.plot(range(0, 60), thre_99, 'k_', label='0.99 threshold')
idx = np.argwhere(np.isclose(thre_95, cum_var, atol=0.001)).reshape(-1)
idx[0] += 1
plt.plot(idx, thre_95[idx], 'ro')
idx = np.argwhere(np.isclose(thre_99, cum_var, atol=0.0005)).reshape(-1)
idx[0] += 1
plt.plot(idx, thre_99[idx], 'ro')
plt.legend(loc='center right')
plt.xlabel('Reduced Dimensionality')
plt.ylabel('Variance Ratio')
plt.title('Explained Ratio Curve')
plt.axis([0, 60, 0, 1])
plt.grid(True)
plt.show()
die folgende Grafik Plots:
Jetzt muss ich x Zeile und y Zeile hinzufügen aus der Schnittpunkt nach unten zu den Achsen, um deutlich zu zeigen, was die Schnittpunkte sind. Wie kann ich es tun?
Edit: Ich habe die Antwort und schaffte es, die Linien zu zeichnen, jetzt ist meine Frage, wie man den x-Wert der hinzugefügten Linie auf der Achse erscheinen lassen?
Ein weiterer edit: Answer for edit question
Danke in der Tat. Das hilft mir. Ich bearbeitet, um etwas mehr Frage hinzuzufügen –
Gefunden die Antwort hier für die zusätzliche Frage http://stackoverflow.com/questions/14716660/adding-extra-axis-ticks-using-matplotlib –