2016-06-23 7 views
1

Ich zeichne mehrere Kurven in Loglog-Skala in Matplotlib und, um sie unterscheidbar zu machen, verwende ich Marker. Da es viele Datenpunkte gibt, verwende ich mabevery = 100. Aber mit der horizontalen Achse auf der logarithmischen Skala werden diese geclustert. Gibt es eine Möglichkeit, die Marker auch logarithmisch zu verkleinern?Marker auf Loglog Matplotlib Abbildung

Antwort

1

eher eine ganze Zahl für markevery als anzugeben, die eine Markierung an jedem N ten Datenpunkt platzieren wird, einen Schwimmer verwenden, der sicherstellt, dass die Punkte gleichmäßig entlang der Linie (unabhängig davon, ob ein linearer oder logarithmischer Maßstab verwendet wird) beabstandet sein.

alle = 0,1 (d. H. Ein Gleitkomma), dann werden die Markierungen in ungefähr gleichen Abständen entlang der Linie beabstandet sein; Der Abstand entlang der Linie zwischen den Markierungen wird durch Multiplizieren der Anzeigekoordinatenentfernung der Achsenbegrenzungsfelddiagonale mit dem Wert von jedem bestimmt.

t = np.arange(0.01, 30, 0.01) 
plt.loglog(t, 20 * np.exp(-t/10.0), '-o', markevery=0.1) 

enter image description here