Bagaimana Membuat Garis Trend Scatter di Matplotlib dengan Python Pandas
Ketika Anda ingin menggambar garis trend scatter di Matplotlib, hal-hal dapat menjadi agak sulit. Dalam artikel ini, kami akan memandu Anda pada cara membuat garis trend scatter di Matplotlib menggunakan Python Pandas.
Apa itu Garis Trend Scatter?
Grafik scatter adalah grafik yang menampilkan nilai untuk dua variabel yang berbeda yang dapat digambar di sumbu x dan y. Ketika nilai sumbu x dan y diputarkan dengan garis trend, maka akan menunjukkan hubungan antara dua variabel. Garis trend juga dikenal sebagai garis yang paling baik, yang adalah garis lurus yang terbaik mewakili data di grafik scatter.
Langkah-Langkah untuk Membuat Garis Trend Scatter di Matplotlib
Misalkan kita memiliki DataFrame berikut dengan data sintetis berat dan tinggi:
| Weight | Height |
|---|---|
| 60 | 160 |
| 65 | 165 |
| 70 | 170 |
| 75 | 175 |
| 80 | 180 |
| 85 | 185 |
| 90 | 190 |
Langkah 1: Impor Libray yang Diperlukan
Sebelum memulai, kita perlu impor library yang diperlukan. Kita akan menggunakan Matplotlib, NumPy, dan Pandas dalam artikel ini. Untuk mengimpornya, Anda dapat menggunakan kode berikut:
# Import libraries
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
Langkah 2: Muat Data
Kemudian, kita perlu muat data yang ingin kita plot. Kita akan menggunakan dataset contoh yang mengandung informasi tentang berat dan tinggi individu. Anda dapat muat data dengan kode berikut:
# Read data
data = pd.read_csv('data.csv')
Langkah 3: Buat Grafik Scatter
Untuk membuat grafik scatter, kita perlu menggunakan metode scatter() di Matplotlib. Kita akan passing nilai sumbu x dan y sebagai argument ke metode scatter(). Anda dapat menggunakan kode berikut untuk membuat grafik scatter:
# Plot data and set labels
plt.scatter(data['Weight'], data['Height'])
plt.xlabel('Weight (kg)')
plt.ylabel('Height (cm)')
plt.show()
Kode ini akan membuat grafik scatter dari berat vs. tinggi. Namun, garis trend belum ditambahkan.
Langkah 4: Tambahkan Garis Trend
Untuk menambahkan garis trend, kita perlu menggunakan fungsi polyfit() NumPy. Fungsi ini pasang polinomial dengan derajat yang ditentukan ke data dan mengembalikan koefisien polinomial. Kita akan menggunakan fungsi ini untuk memasang garis lurus ke data.
# Plot data and set labels
plt.scatter(df['Weight'], df['Height'])
plt.xlabel('Weight (kg)')
plt.ylabel('Height (cm)')
# Fit the trend line
z = np.polyfit(data['Weight'], data['Height'], 1)
p = np.poly1d(z)
plt.plot(data['Weight'], p(data['Weight']), "r--")
# Show the plot
plt.show()
Fungsi polyfit() mengambil tiga argument: nilai sumbu x, nilai sumbu y, dan derajat polinomial. Dalam kasus ini, kita memasang garis lurus, sehingga derajat polinomial diatur menjadi 1.
Fungsi poly1d() membuat objek polinomial yang kita dapat gunakan untuk mengevaluasi polinomial pada nilai x yang berbeda.
Akhirnya, kita menggunakan metode plot() untuk memplot garis trend. Kita passing nilai sumbu x dan objek polinomial sebagai argument ke metode plot(), serta setting style garis menjadi "r–" untuk membuat garis trend dashed and red.
Kode Lengkap
Sekarang bahwa kita telah menambahkan garis trend, maka kita dapat menampilkan grafik dengan menggunakan metode show():
# Import libraries
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
# Read data
data = pd.read_csv('data.csv')
# Plot data and set labels
plt.scatter(df['Weight'], df['Height'])
plt.xlabel('Weight (kg)')
plt.ylabel('Height (cm)')
# Fit the trend line
z = np.polyfit(data['Weight'], data['Height'], 1)
p = np.poly1d(z)
plt.plot(data['Weight'], p(data['Weight']), "r--")
# Show the plot
plt.show()
Kesimpulan
Dalam artikel ini, kami telah memandu Anda pada cara membuat garis trend scatter di Matplotlib menggunakan Python Pandas. Dengan mengikuti langkah-langkah yang diberikan, Anda dapat dengan mudah membuat grafik scatter dengan garis trend yang sesuai.