Pandas DataFrame menyediakan fungsi untuk memvisualisasikan data berbentuk line chart atau diagram garis. Line chart biasanya digunakan untuk mengeksplorasi tren dan perubahan dalam deret waktu.
Line chart memungkinkan kita untuk melihat pola, tren naik atau turun, dan fluktuasi data. Sebagai contoh dalam data keuangan, line chart sering digunakan untuk memperlihatkan perubahan harga saham atau pendapatan dari waktu ke waktu.
Dalam artikel ini, kita akan melihat bagaimana menggunakan Pandas untuk membuat line chart dan menganalisis tren data.
Membuat Line Chart dengan Pandas
Sebelumnya kita persiapkan datasetnya terlebih dahulu. Dataset sederhana ini adalah dataset mengenai suhu rata-rata di Jakarta dan Jawa Barat.
import pandas as pd
import matplotlib.pyplot as plt
hour_id = [ '110700' , '110706' , '110712' , '110718',
'110800' , '110806' , '110812' , '110818',
'110900' , '110906' , '110912' , '110918'
]
jakarta = [ 27, 33, 28, 25, 28, 33, 29, 26, 27, 30, 27, 25 ]
jawa_barat = [ 22, 33, 23, 20, 22, 33, 22, 19, 22, 29, 21, 18 ]
# dictionary of lists
dict = {'hour_id': hour_id, 'jakarta': jakarta, 'jawa_barat': jawa_barat}
df_temp = pd.DataFrame(dict)
Dataset tersebut memiliki 3 kolom, yaitu hour_id, jakarta, jawa_barat. hour_id memiliki format [bulan][tanggal][jam]. Misalkan 110700, ini berarti tanggal 7 November jam 00 atau 24. Untuk kolom jakarta dan jawa_barat berisi temperatur rata-rata. Berikut dataset yang kita buat
df_temp
+---------+---------+------------+
| hour_id | jakarta | jawa_barat |
+---------+---------+------------+
| 10700 | 27 | 22 |
| 110706 | 33 | 33 |
| 110712 | 28 | 23 |
| 110718 | 25 | 20 |
| 110800 | 28 | 22 |
| 110806 | 33 | 33 |
| 110812 | 29 | 22 |
| 110818 | 26 | 19 |
| 110900 | 27 | 22 |
| 110906 | 30 | 29 |
| 110912 | 27 | 21 |
| 110918 | 25 | 18 |
+---------+---------+------------+
Pandas menyediakan metode .plot.line() yang memudahkan kita untuk membuat line chart dari data yang terkandung dalam DataFrame.
Parameter x dan y mengidentifikasi kolom DataFrame yang akan digunakan sebagai sumbu x dan y.
Multi Line Chart Pada Fungsi plot.line
Untuk memvisualisasikan lebih dari satu line chart, kita dapat memberikan nilai pada parameter yang berupa list dari kolom-kolom yang akan ditampilkan
df_temp.plot.line(x='hour_id', y=['jakarta', 'jawa_barat'])
Hal ini sering dilakukan untuk melihat relasi trend antar variabel
Untuk menampilkan multi line chart secara terpisah, kita dapat menggunakan parameter subplots yang diberi nilai True
df_temp.plot.line(x='hour_id', y=['jakarta', 'jawa_barat'], subplots = True)
Label dan Judul Grafik Pada Pandas Bar Chart
Sama seperti pada bar chart, untuk memberikan judul dan label pada sumbu x dan y dapat menggunakan parameter berikut:
- xlabel : digunakan untuk memberi label pada sumbu x
- ylabel : digunakan untuk memberi label pada sumbu y
- title : digunakan untuk memberi judul pada grafik
df_temp.plot.line(x='hour_id', y='jakarta',
title='Trend Suhu Kota Jakarta Bulan November 2023',
xlabel='Waktu',
ylabel='Suhu/Temperatur'
);
Pengaturan Warna Pada Pandas Line Chart
Parameter color digunakan untuk pengaturan warna sesuai dengan yang dikehendaki. Pengaturan menggunakan parameter color adalah cara yang paling sederhana untuk pengaturan warna. Kita cukup memberi nilai dengan nama warna yang sesuai.
df_temp.plot.line(x='hour_id', y='jakarta',
color='slategrey'
Untuk penamaan warna dapat mengacu pada dokumentasi matplotlib disini
Pengaturan lainnya
Beberapa parameter yang mungkin akan sering digunakan untuk melakukan pengaturan line chart pada pandas
- figsize=(p,t) : digunakan untuk pengaturan ukuran chart dalam satuan inchi
- grid : jika diberi nilai True, maka akan tergambar garis bantu atau grid
- marker : untuk memberikan tanda pada line chart, misalkan 'o' untuk titik
- linewidth : digunakan untuk menentukan ketebalan garis
- linestyle : digunakan untuk merubah bentuk garis, misalkan '--' maka garis akan ditampilkan terputus-putus
df_temp.plot.line(x='hour_id', y='jakarta',
title='Trend Suhu Kota Jakarta Bulan November 2023',
xlabel='Waktu',
ylabel='Suhu/Temperatur',
color= 'lightgreen',
figsize= (8, 4),
grid = True,
marker='o',
linewidth=1,
linestyle='--'
);
Warpping Up
Pandas memberikan banyak kemudahan dalam memvisualisasikan DataFrame. Banyak visualisasi lain yang bisa dilakukan dengan fungsi plot pada Pandas. Berikut list lengkapnya:
- plot.area()
- plot.bar()
- plot.barh()
- plot.box()
- plot.hexbin()
- plot.hist()
- plot.kde()
- plot.density()
- plot.line()
- plot.pie()
- plot.scatter()
Artikel selengkapnya mengenai Visualisasi Data Dengan Pandas:
- Visualisasi Dengan Pandas - Histogram
- Visualisasi Dengan Pandas - Bar Chart
- Visualisasi Dengan Pandas - Pie Chart
- Visualisasi Dengan Pandas - Line Chart