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
1
A
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)