Reverse Log Scale in Seaborn Plots

Manav Narula 15 Februar 2024
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))

Seebordbuch Grundstück

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()])

Reverse Log-Skala in Seegrundstück

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 Narula avatar Manav Narula avatar

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

Verwandter Artikel - Seaborn Tick