Reverse Log Scale in Seaborn Plots
Python ist mit verschiedenen Funktionen gut ausgestattet, um mit logarithmischen und exponentiellen Werten umzugehen. Wir verwenden die Funktionen log()
und exp()
, die aus den Modulen numpy und math verfügbar sind, um solche Werte zu berechnen.
Beispielsweise,
print(np.log(50))
print(np.exp(3.912023005428146))
Ausgabe:
3.912023005428146
49.99999999999999
Viele Änderungen der obigen beiden Funktionen ermöglichen es uns, den Logarithmus mit verschiedenen Basen und mehr zu berechnen. Exponentielle Werte werden als inverse Log- oder Reverse-Log-Werte betrachtet.
Es ist auch möglich, mit solchen Werten in Graphen und Plots umzugehen. Das auf dem Matplotlib-Modul basierende seaborn-Modul dient zur Visualisierung und kann viele verschiedene Arten von Diagrammen erstellen. Wir können die endgültige Zahl nach unseren Anforderungen mit verschiedenen Funktionen optimieren.
In diesem Tutorial lernen wir, Log-Werte auf Seegrundstücken in Python umzukehren.
In unserem Beispiel werden wir die Log-Funktionen verwenden, um die erforderlichen Werte zu berechnen und diese mit der Funktion violinplot()
des seaborn-Moduls darzustellen.
Siehe den Code unten,
import seaborn as sns
import numpy as np
lst = [1, 5, 8, 9, 5, 2, 5, 6, 9]
pl = sns.violinplot(y=np.log(lst))
Wir können die Beschriftungs-Tick-Werte auf beiden Achsen mit der Funktion set_yticklabels()
und set_xticklabels()
anpassen. Wir werden die Reverse-Log-Funktion mit den obigen Funktionen verwenden, um die Tick-Label-Werte festzulegen.
Beispielsweise,
import seaborn as sns
import numpy as np
lst = [1, 5, 8, 9, 5, 2, 5, 6, 9]
pl = sns.violinplot(y=np.log(lst))
pl.set_yticklabels([f"{np.expm1(l):.2f}" for l in pl.get_yticks()])
Die Funktion get_yticks()
gibt die Standardlabels zurück und wir berechnen deren Reverse Log mit der Funktion exp()
. Wir formatieren das Endergebnis mit fstrings, die für die String-Formatierung in Python verwendet werden, auf nur zwei Dezimalstellen.
Auf diese Weise haben wir einen Violinplot erstellt, indem wir die Log-Werte von Elementen einer Liste berechnet und die ursprünglichen Werte mit der umgekehrten Log-Funktion auf den Tick-Labels erwähnt haben.
Beachten Sie, dass wir in unseren Beispielen die Funktionen des numpy-Moduls und nicht das mathematische Modul verwendet haben. Das liegt daran, dass die numpy-Funktionen log()
und exp()
auch die benötigten Werte einer Liste oder eines Arrays direkt berechnen können.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn