Jak utworzyć wykres log-log w pythonie


Wykres log-log to wykres wykorzystujący skalę logarytmiczną zarówno na osi x, jak i osi y.

Ten typ wykresu jest przydatny do wizualizacji dwóch zmiennych, gdy prawdziwa relacja między nimi jest zgodna z pewnym rodzajem prawa potęgowego.

W tym samouczku wyjaśniono, jak utworzyć wykres log-log w Pythonie.

Jak utworzyć wykres log-log w Pythonie

Załóżmy, że mamy następującą ramkę DataFrame pand:

 import pandas as pd
import matplotlib. pyplot as plt

#createDataFrame
df = pd. DataFrame ({' x ': [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
                         14, 15, 16, 17, 18, 19, 20, 21, 22],
                   ' y ': [3, 4, 5, 7, 9, 13, 15, 19, 23, 24, 29,
                         38, 40, 50, 56, 59, 70, 89, 104, 130]})

#create scatterplot
plt. scatter (df. x , df. y )

Jest oczywiste, że związek między x i y jest zgodny z prawem potęgowym.

Poniższy kod ilustruje sposób użycia funkcji numpy.log() do przeprowadzenia transformacji log na dwóch zmiennych i utworzenia wykresu log-log w celu wizualizacji relacji między nimi:

 import numpy as np

#perform log transformation on both x and y
xlog = np. log ( df.x )
ylog = np. log ( df.y )

#create log-log plot
plt. scatter (xlog, ylog)

Oś x wyświetla logarytm x, a oś y logarytm y.

Zwróć uwagę, że związek między log(x) i log(y) jest znacznie bardziej liniowy w porównaniu z poprzednim wykresem.

Możesz dodać tytuł i etykiety osi, aby ułatwić interpretację wykresu:

 #create log-log plot with labels
plt. scatter (xlog, ylog, color=' purple ')
plt. xlabel (' Log(x) ')
plt. ylabel (' Log(y) ')
plt. title (' Log-Log Plot ') 

Pamiętaj też, że możesz utworzyć wykres liniowy zamiast wykresu punktowego, po prostu używając plt.plot() w następujący sposób:

 #create log-log line plot
plt. plot (xlog, ylog, color=' purple ')
plt. xlabel (' Log(x) ')
plt. ylabel (' Log(y) ')
plt. title (' Log-Log Plot ') 

Wykres log-log w Pythonie

Dodatkowe zasoby

Jak utworzyć wykres log-log w R
Jak utworzyć wykres log-log w programie Excel

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *