Lewati ke konten utama

Plot Garis di Matplotlib dengan Python

Tutorial praktis ini membahas secara mendalam cara membuat dan menyesuaikan plot garis dengan Matplotlib, pustaka visualisasi data yang andal di Python.
Diperbarui 28 Sep 2026  · 11 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

Visualisasi data dan penceritaan data sangat penting bagi data scientist karena mengubah wawasan data yang kompleks menjadi narasi yang menarik dan mudah dipahami untuk komunikasi yang efektif. Meski banyak pustaka baru dan canggih bermunculan, Matplotlib tetap menjadi salah satu pustaka plotting paling populer dan menjadi fondasi bagi pustaka yang lebih baru.

Tutorial ini berfokus pada salah satu jenis plot Matplotlib yang paling umum, yaitu plot garis. Plot garis sangat baik untuk menampilkan tren dan fluktuasi data dari waktu ke waktu, menghubungkan titik-titik (secara harfiah) untuk menggambarkan apa yang terjadi dengan jelas.

Tutorial ini dimulai dari dasar pembuatan plot garis sederhana dan kemudian berlanjut ke teknik yang lebih lanjut, seperti menambahkan informasi statistik ke plot. Pada akhir tutorial, Anda akan memahami dengan baik cara membuat berbagai jenis plot garis di Matplotlib dan cara menggunakannya untuk menyampaikan wawasan data Anda secara efektif kepada orang lain.

Siap meningkatkan keterampilan visualisasi data Anda? Mari mulai!

Pustaka, Data, dan Pra-Pemrosesan

Sebelum mulai membuat plot garis dengan Matplotlib, kita perlu menyiapkan lingkungan kerja. Ini mencakup pemasangan Matplotlib, mengimpor pustaka yang diperlukan, dan pra-pemrosesan dataset yang akan kita gunakan untuk contoh.

Memasang Matplotlib

Untuk memasang Matplotlib, Anda dapat menggunakan pip, pengelola paket untuk Python. Cukup buka terminal atau command prompt dan ketik:

pip install matplotlib

Perintah ini akan memasang versi terbaru Matplotlib di mesin Anda.

Mengimpor pustaka yang diperlukan

Setelah Matplotlib terpasang, kita perlu mengimpornya bersama pustaka lain seperti NumPy dan Pandas. NumPy adalah pustaka untuk bekerja dengan array, sedangkan Pandas untuk manipulasi dan analisis data.

Untuk mengimpor pustaka-pustaka ini, cukup ketik kode berikut:

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

Membaca dan pra-pemrosesan data

Untuk tutorial ini, kita akan menggunakan dataset yang berisi harga harian indeks DJIA. Dataset mencakup lima kolom: 

  • Kolom Date menyediakan tanggal ketika informasi harga saham lainnya dicatat
  • Open, Close: Harga DJIA pada saat pembukaan dan penutupan pasar saham pada hari tersebut
  • High, Low: Harga tertinggi dan terendah yang dicapai DJIA pada hari tersebut

Setelah memuat dataset, kita akan melakukan pra-pemrosesan data dasar seperti mengganti nama kolom, mengonversinya menjadi variabel datetime, dan mengurutkan data berdasarkan tanggal secara menaik.

Berikut kodenya:

# Load the dataset into a Pandas DataFrame
df = pd.read_csv("HistoricalPrices.csv")

# Rename the column to remove an additional space
df = df.rename(columns = {' Open': 'Open', ' High': 'High', ' Low': 'Low', ' Close': 'Close'})

# Convert the date column to datetime
df['Date'] = pd.to_datetime(df['Date'])

# Sort the dataset in the ascending order of date
df = df.sort_values(by = 'Date')

Sekarang setelah lingkungan siap dan dataset dimuat, kita dapat lanjut membuat plot garis menggunakan Matplotlib.

Membuat Plot Garis Dasar di Matplotlib

Kita akan mulai dengan membuat plot garis dasar dan kemudian menyesuaikannya agar tampak lebih rapi dan informatif.

Menggunakan plt.plot() untuk membuat plot garis

Untuk membuat plot garis, kita akan menggunakan fungsi plt.plot(). Fungsi ini menerima dua parameter; nilai sumbu x dan nilai sumbu y. Dalam kasus kita, kolom tanggal akan menjadi nilai sumbu x, sedangkan kolom close akan menjadi nilai sumbu y. Berikut kodenya:

# Extract the date and close price columns
dates = df['Date']
closing_price = df['Close']

# Create a line plot
plt.plot(dates, closing_price)

# Show the plot
plt.show()

Saat Anda menjalankan kode di atas, Anda akan melihat plot garis dasar dari saham DJIA. 

plot garis di matplotlib

Menyesuaikan Plot Garis

Matplotlib menyediakan banyak opsi kustomisasi yang dapat kita manfaatkan sesuai kebutuhan.

Mengatur warna garis

Secara default, fungsi plt.plot() menggambar garis biru. Namun, Anda dapat mengubah warna garis dengan meneruskan parameter color ke fungsi tersebut. Parameter color dapat menerima string yang merepresentasikan nama warna atau kode heksadesimal. 

Berikut contohnya:

# Plot dengan warna merah
plt.plot(dates, closing_price, color='red')

# Show the plot
plt.show()

Kode ini akan menggambar garis merah alih-alih biru seperti di bawah ini:

mengatur warna garis untuk plot garis di matplotlib

Plot garis dasar berwarna merah

Mengatur lebar garis

Anda juga dapat mengubah lebar garis dengan meneruskan parameter linewidth ke fungsi plt.plot(). Parameter linewidth menerima nilai bilangan pecahan yang merepresentasikan lebar garis. 

Berikut contohnya:

# Menambah ketebalan garis
plt.plot(dates, closing_price, linewidth=3)

# Show the plot
plt.show()

Kode ini akan menggambar garis dengan lebar 3 alih-alih lebar default seperti di bawah ini: 

mengatur lebar garis untuk plot garis di matplotlib

Garis pada plot lebih tebal karena linewidth lebih tinggi

Mengatur gaya garis

Anda dapat mengubah gaya garis dengan meneruskan parameter linestyle ke fungsi plt.plot(). Parameter linestyle menerima string yang mewakili gaya garis. Dokumentasi matplotlib menyediakan daftar gaya yang lengkap. 

mengatur gaya garis untuk plot garis di matplotlib

Berikut cara menggunakannya dalam kode:

# Plot garis satu per satu: solid, dotted, dashed, dan dashdot

plt.plot(dates, closing_price, linestyle='solid') # Gaya garis default
plt.plot(dates, closing_price, linestyle='dotted')
plt.plot(dates, closing_price, linestyle='dashed')
plt.plot(dates, closing_price, linestyle='dashdot')

# Show the plot
plt.show()

Menambahkan marker ke plot garis

Marker dapat digunakan untuk menyoroti titik tertentu pada plot garis. Berbagai jenis simbol dapat digunakan sebagai marker dan dapat dirujuk dari dokumentasi matplotlib.

Berikut contoh penggunaan marker pada plot garis:

# Tambahkan marker silang untuk setiap titik
plt.plot(df['Date'], df['Close'], marker='x')

# Show the plot
plt.show()

Pada kode di atas, kita menggunakan marker silang (x) untuk menyoroti harga Close saham DJIA seperti terlihat di bawah: 

menambahkan marker ke plot garis di matplotlib

Menambahkan label dan judul

Agar plot lebih informatif, kita dapat menambahkan label sumbu dan judul. Kita dapat melakukannya dengan menggunakan fungsi plt.xlabel(), plt.ylabel(), dan plt.title() masing-masing. 

Berikut contohnya:

plt.plot(dates, closing_price, color='red', linewidth=2)
plt.xlabel('Date')
plt.ylabel('Closing Price')
plt.title('DJIA Stock Price')

# Show the plot
plt.show()

Kode ini akan menggambar garis merah dengan lebar 2, dengan sumbu x berlabel 'Date', sumbu y berlabel 'Closing Price', dan judul 'DJIA Stock Price'. 

menambahkan label dan judul untuk plot garis di matplotlib

Menambahkan garis kisi

Kita juga dapat menambahkan garis kisi pada plot agar lebih mudah dibaca. Kita dapat melakukannya dengan menggunakan fungsi plt.grid(). Fungsi plt.grid() menerima nilai boolean yang menyatakan apakah kisi harus ditampilkan. 

Berikut contohnya: 

plt.plot(dates, closing_price, color='red', linewidth=2)
plt.xlabel('Date')
plt.ylabel('Closing Price')
plt.title('DJIA Stock Price')

# Add the grid
plt.grid(True)

# Show the plot
plt.show()

Anda akan melihat kisi ditambahkan ke plot: 

menambahkan garis kisi ke plot garis di matplotlib

Plot Garis Matplotlib dengan Beberapa Garis

Dalam beberapa kasus, Anda mungkin ingin menggambar beberapa garis pada grafik yang sama. Untuk melakukannya, Anda dapat memanggil fungsi plt.plot() beberapa kali dengan data yang berbeda untuk setiap pemanggilan. Berikut contohnya:

# Plot garis untuk harga Open dan Close

plt.plot(df['Date'], df['Open'])
plt.plot(df['Date'], df['Close'])
plt.title('DJIA Open and Close Prices')
plt.xlabel('Date')
plt.ylabel('Price')

plt.show()

Pada kode di atas, kita menggambar harga Open dan Close saham DJIA pada grafik yang sama. 

menambahkan garis kedua ke plot garis di matplotlib

Plot Garis Matplotlib dengan Sumbu Kembar

Ada kalanya Anda ingin merepresentasikan dua variabel dengan skala berbeda pada plot yang sama. Dalam situasi seperti ini, menggunakan sumbu kembar adalah cara efektif untuk memvisualisasikan hubungan antarvariabel tanpa mengurangi kejelasan skala masing-masing. 

Untuk membuat plot garis dengan sumbu kembar, kita perlu menggunakan fungsi twinx(). Fungsi ini membuat sumbu y baru yang berbagi sumbu x yang sama dengan plot asli. 

Berikut contohnya:

# Create a new variable for demonstration purposes
df['High_minus_Low'] = df['High'] - df['Low']

# Create a basic line plot for the Close prices
fig, ax1 = plt.subplots()
ax1.plot(df['Date'], df['Close'], color='blue', label='Close Price')
ax1.set_xlabel('Date')
ax1.set_ylabel('Closing Price', color='blue')
ax1.tick_params(axis='y', labelcolor='blue')

# Create a twin axis for the High_minus_Low variable
ax2 = ax1.twinx()
ax2.plot(df['Date'], df['High_minus_Low'], color='green', label='High - Low')
ax2.set_ylabel('High minus Low', color='green')
ax2.tick_params(axis='y', labelcolor='green')

# Add a title and show the plot
plt.title('DJIA Stock Price and High-Low Difference with Twin Axes')
plt.show()

Dan hasil plot dengan sumbu kembar: 

menambahkan sumbu kedua ke plot garis di matplotlib

Menambahkan Informasi Statistik ke Plot Garis Matplotlib

Selain memvisualisasikan tren dan pola dalam data, plot garis juga dapat menampilkan informasi statistik seperti garis regresi dan batang galat (error bars). 

Menambahkan garis regresi Matplotlib

Garis regresi adalah garis yang paling sesuai dengan titik data pada plot dan dapat digunakan untuk memodelkan serta memprediksi nilai di masa depan. Kita dapat menambahkan garis regresi ke plot garis dengan menggunakan fungsi polyfit() dari pustaka NumPy, yang menyesuaikan garis regresi polinomial ke titik data kita. 

import matplotlib.dates as mdates

# Convert Date column to numeric value
df['Date'] = mdates.date2num(df['Date'])

# Add regression line to plot
coefficients_open = np.polyfit(df['Date'], df['Open'], 1)
p_open = np.poly1d(coefficients_open)

coefficients_close = np.polyfit(df['Date'], df['Close'], 1)
p_close = np.poly1d(coefficients_close)

fig, ax = plt.subplots()
ax.plot(df['Date'], df['Open'], '.', label='Open Price')
ax.plot(df['Date'], p_open(df['Date']), '-', label='Open Regression Line')
ax.plot(df['Date'], df['Close'], '.', label='Close Price')
ax.plot(df['Date'], p_close(df['Date']), '-', label='Close Regression Line')
ax.set_title('DIJA Stock Prices')
ax.set_xlabel('Date')
ax.set_ylabel('Price')
ax.legend()

# Format x-axis labels as dates
date_form = mdates.DateFormatter("%Y-%m-%d")
ax.xaxis.set_major_formatter(date_form)
plt.gcf().autofmt_xdate()

plt.show()

Pada kode ini, kita terlebih dahulu mengonversi tanggal menjadi nilai numerik menggunakan fungsi date2num() lalu menggunakan fungsi polyfit() untuk memperoleh koefisien garis regresi. Kita gunakan fungsi poly1d() untuk memplot garisnya. Titik data asli diplot sebagai titik, sedangkan garis regresi diplot sebagai garis solid. 

menambahkan garis regresi ke plot garis di matplotlib

Menambahkan error bar

Error bar adalah representasi grafis dari variabilitas data dan dapat digunakan untuk menunjukkan ketidakpastian dalam pengukuran.

Ini sangat berguna ketika Anda memperkirakan adanya kesalahan dalam proses pengumpulan data, seperti data suhu, data kualitas udara, dan sebagainya. Meskipun harga saham pasti, mari kita asumsikan potensi kesalahan sebesar satu simpangan baku dan memplotnya menggunakan fungsi errorbar di Matplotlib.

# Calculate standard deviation of data
std = df['Close'].std()

# Add error bars to plot
plt.errorbar(df['Date'], df['Close'], yerr=std/2, fmt='.', label='Close Price')
plt.title('DIJA Stock Prices')
plt.xlabel('Date')
plt.ylabel('Price')
plt.legend()
plt.show()

Pada kode ini, kita terlebih dahulu menghitung simpangan baku harga Close dalam dataset. Lalu kita menggunakan fungsi errorbar() untuk menambahkan error bar ke plot garis, dengan ukuran error bar disetel menjadi setengah dari simpangan baku. 

menambahkan error bar ke plot garis di matplotlib

Teknik-teknik ini memungkinkan kita menambahkan informasi statistik ke plot garis dan mendapatkan wawasan yang lebih mendalam dari data kita.

Kesimpulan

Plot garis adalah alat yang kuat untuk memvisualisasikan tren dan pola dalam data, dan Matplotlib menyediakan antarmuka yang ramah pengguna untuk membuatnya. 

Langkah berikutnya, Anda dapat mengikuti kursus Intermediate Python, di mana Anda menerapkan semua yang telah dipelajari pada studi kasus statistik hacker. 

Kami berharap tutorial ini membantu Anda memulai membuat plot garis di Matplotlib. Kami juga membahas secara mendalam plot matplotlib lainnya dalam tutorial lain, yang dapat memberi gambaran singkat tentang apa lagi yang bisa Anda lakukan dengan Matplotlib. 

Teruslah bereksplorasi dan bereksperimen untuk membuat visualisasi yang memukau dan menemukan wawasan dari data Anda!

Topik
Visualisasi Data
Python
Terkait

{count, plural, one {blog} other {blogs}}

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

{count, plural, one {blog} other {blogs}}

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

{count, plural, one {blog} other {blogs}}

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

{count, plural, one {blog} other {blogs}}

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

Lihat SelengkapnyaLihat Selengkapnya