Jenis-jenis Visualisasi Data menggunakan Python Matplotlib

Assalamu‘alaikum wr. wb.

Halo semuanya! Dalam Python, ada Library yang dapat melakukan Visualisasi Data yang bernama Matplotlib dan Seaborn. Jika sebelumnya sudah membahas tentang Pengertian Visualisasi Data, kali ini kita akan membahas tentang Cara melakukan Visualisasi Data dengan menggunakan Matplotlib beserta dengan Jenis-jenisnya.

Visualisasi Data menggunakan Python Matplotlib

Sumber Artikel Materi : Freecodecamp.org, Digitalvidya.com (Blog)Geeksforgeeks.org, W3schools.inMedium.com, Learn.Nural.iddan juga menggunakan ChatGPT

Dalam artikel ini, kita akan menjelajahi apa itu visualisasi data dan bagaimana Anda dapat menggunakan alat visualisasi data Matplotlib untuk menjelajahi dan menganalisis data. Anda akan belajar bagaimana menggunakannya untuk membuat grafik yang membantu pemilik bisnis dan pemangku kepentingan mendapatkan wawasan lebih dalam tentang data dan membuat keputusan yang terinformasi.

Apa Itu Visualisasi Data?

Visualisasi data mengacu pada Integrasi Data dan Elemen Visual seperti Gambar, Grafik, Diagram, dan sebagainya untuk berkomunikasi pesan kepada pemangku kepentingan yang berbeda.

Pemangku kepentingan ini dapat menjadi pengguna, anggota tim, manajer, atau anggota eksekutif puncak suatu organisasi.

Data dalam konteks ini merujuk pada berbagai masukan yang dikumpulkan dari basis data organisasi atau diperoleh dari sumber eksternal, seperti basis data publik atau organisasi swasta, yang memberikan akses melalui API mereka.

Kita akan bekerja dengan dataset pemutusan hubungan kerja karyawan yang berisi rincian karyawan yang telah diberhentikan dalam berbagai industri dari tahun 2020 hingga 2022. Kolom-kolom dalam dataset mencakup nama perusahaan, lokasi, industri, total pemutusan, persentase pemutusan, tanggal, negara, dan kolom relevan lainnya.

Berikut ini adalah beberapa Jenis Visualisasi Data menggunakan Python Matplotlib.

A. Membuat Plot

Berikut, inilah Cara membuat Plot menggunakan Python Matplotlib. Tapi sebelum itu, kita pelajari dulu apa itu Pyplot.

1. Pyplot

Pyplot adalah modul Matplotlib yang menyediakan antarmuka mirip MATLAB. Matplotlib dirancang agar dapat digunakan seperti MATLAB, dengan kemampuan menggunakan Python dan keuntungan berupa gratis dan open-source. Setiap fungsi pyplot membuat beberapa perubahan pada gambar: misalnya, membuat gambar, membuat area plotting dalam gambar, memplot beberapa garis dalam area plotting, mendekorasi plot dengan label, dan sebagainya. Beberapa plot yang dapat kita gunakan dengan menggunakan Pyplot adalah Plot Garis, Histogram, Sebar, Plot 3D, Gambar, Kontur, dan Polar.

Setelah mengetahui sedikit tentang Matplotlib dan pyplot, mari kita lihat bagaimana cara membuat plot sederhana.

Contoh :

import matplotlib.pyplot as plt
 
# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]
 
# plotting the data
plt.plot(x, y)
 
plt.show()

Hasil :

Sekarang mari kita lihat bagaimana menambahkan beberapa elemen dasar seperti judul, legenda, label ke grafik.

2. Menambahkan Judul

Metode title() pada modul matplotlib digunakan untuk menentukan judul visualisasi yang digambarkan dan menampilkan judul tersebut menggunakan berbagai atribut.

Sintaks :

matplotlib.pyplot.title(label, fontdict=None, loc=’center’, pad=None, **kwargs)

Contoh :

import matplotlib.pyplot as plt
 
# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]
 
# plotting the data
plt.plot(x, y)
 
# Adding title to the plot
plt.title("Linear graph")
 
plt.show()

Output :

Kita juga dapat mengubah tampilan judul dengan menggunakan parameter fungsi ini.

Contoh :

import matplotlib.pyplot as plt
 
# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]
 
# plotting the data
plt.plot(x, y)
 
# Adding title to the plot
plt.title("Grafik Linear", fontsize=25, color="blue")
 
plt.show()

Output :

3. Menambahkan Label X dan Label Y

Dalam istilah awam, label X dan label Y adalah sebutan yang diberikan masing-masing pada sumbu X dan sumbu Y. Ini dapat ditambahkan ke grafik dengan menggunakan metode xlabel() dan ylabel().

Sintaks :

matplotlib.pyplot.xlabel(xlabel, fontdict=None, labelpad=None, **kwargs)

matplotlib.pyplot.ylabel(ylabel, fontdict=None, labelpad=None, **kwargs)

Contoh :

import matplotlib.pyplot as plt
 
# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]
 
# plotting the data
plt.plot(x, y)
 
# Adding title to the plot
plt.title("Grafik Linear", fontsize=20, color="blue")

# Adding label on the y-axis
plt.ylabel('Y-Axis')
 
# Adding label on the x-axis
plt.xlabel('X-Axis')

plt.show()

Output :

4. Menetapkan Batasan dan Centang Label

Anda mungkin telah melihat bahwa Matplotlib secara otomatis mengatur nilai dan penanda (titik) sumbu X dan Y, namun, Anda dapat mengatur batasan dan penanda secara manual. Fungsi xlim() dan ylim() digunakan untuk mengatur batasan sumbu X dan sumbu Y secara berturut-turut. Demikian pula, fungsi xticks() dan yticks() digunakan untuk mengatur label penanda.

Contoh : Pada contoh ini, kita akan mengubah batasan sumbu Y dan akan mengatur label untuk sumbu X.

import matplotlib.pyplot as plt
 
# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]
 
# plotting the data
plt.plot(x, y)
 
# Adding title to the plot
plt.title("Grafik Linear", fontsize=20, color="blue")

# Adding label on the y-axis
plt.ylabel('Y-Axis')
 
# Adding label on the x-axis
plt.xlabel('X-Axis')

# Setting the limit of y-axis
plt.ylim(0, 80)
 
# setting the labels of x-axis
plt.xticks(x, labels=["Satu", "Dua", "Tiga", "Empat"])
 
plt.show()

Output :

5. Menambahkan Legenda

Sebuah Legenda adalah area yang menjelaskan elemen-elemen grafik. Dalam istilah sederhana, itu mencerminkan data yang ditampilkan dalam sumbu Y grafik. Biasanya muncul sebagai kotak yang berisi sampel kecil dari setiap warna pada grafik dan deskripsi kecil tentang apa arti data ini.

Atribut bbox_to_anchor=(x, y) dari fungsi legend() digunakan untuk menentukan koordinat legenda, dan atribut ncol mewakili jumlah kolom yang ada pada legenda. Nilai defaultnya adalah 1.

Sintaks :

matplotlib.pyplot.legend([“name1”, “name2”], bbox_to_anchor=(x, y), ncol=1)

Contoh :

import matplotlib.pyplot as plt
 
# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]
 
# plotting the data
plt.plot(x, y)
 
# Adding title to the plot
plt.title("Grafik Linear", fontsize=20, color="blue")

# Adding label on the y-axis
plt.ylabel('Y-Axis')
 
# Adding label on the x-axis
plt.xlabel('X-Axis')

# Setting the limit of y-axis
plt.ylim(0, 80)
 
# setting the labels of x-axis
plt.xticks(x, labels=["Satu", "Dua", "Tiga", "Empat"])

# Adding legends
plt.legend(["Garis"])
 
plt.show()

Output :

6. Kelas Gambar (Figure Class)

Anggaplah kelas gambar sebagai keseluruhan jendela atau halaman tempat segala sesuatu digambar. Ini adalah wadah tingkat atas yang berisi satu atau lebih sumbu. Sebuah gambar dapat dibuat menggunakan metode figure().

Sintaks :

class matplotlib.figure.Figure(figsize=None, dpi=None, facecolor=None, edgecolor=None, linewidth=0.0, frameon=None, subplotpars=None, tight_layout=None, constrained_layout=None)

Contoh :

# Python program to show pyplot module
import matplotlib.pyplot as plt
from matplotlib.figure import Figure

# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]

# Creating a new figure with width = 7 inches
# and height = 5 inches with face color as
# green, edgecolor as red and the line width
# of the edge as 7
fig = plt.figure(figsize =(7, 5), facecolor='y',
                 edgecolor='r', linewidth=7)

# Creating a new axes for the figure
ax = fig.add_axes([1, 1, 1, 1])

# Adding the data to be plotted
ax.plot(x, y)

# Adding title to the plot
plt.title("Grafik Linear", fontsize=20, color="blue")

# Adding label on the y-axis
plt.ylabel('Y-Axis')

# Adding label on the x-axis
plt.xlabel('X-Axis')

# Setting the limit of y-axis
plt.ylim(0, 80)

# setting the labels of x-axis
plt.xticks(x, labels=["Satu", "Dua", "Tiga", "Empat"])

# Adding legends
plt.legend(["Garis"])

plt.show()

Output :

7. Kelas Sumbu (Axes Class)

Kelas sumbu adalah unit paling dasar dan fleksibel untuk membuat subplot. Suatu gambar tertentu mungkin berisi banyak sumbu, tetapi sumbu tertentu hanya dapat terdapat dalam satu gambar. Fungsi axes() membuat objek sumbu.

Sintaks :

axes([left, bottom, width, height])

Sama seperti kelas pyplot, kelas axes juga menyediakan metode untuk menambahkan judul, legenda, batasan, label, dll. Mari kita lihat beberapa di antaranya :

  • Menambahkan Judul : ax.set_title()
  • Menambahkan Label X dan Label Y : ax.set_xlabel(), ax.set_ylabel()
  • Mengatur Batasan : ax.set_xlim(), ax.set_ylim()
  • Label Penanda : ax.set_xticklabels(), ax.set_yticklabels()
  • Menambahkan Legenda : ax.legend()

Contoh :

# Python program to show pyplot module
import matplotlib.pyplot as plt
from matplotlib.figure import Figure

# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]

fig = plt.figure(figsize = (5, 4))

# Adding the axes to the figure
ax = fig.add_axes([1, 1, 1, 1])

# plotting 1st dataset to the figure
ax1 = ax.plot(x, y)

# plotting 2nd dataset to the figure
ax2 = ax.plot(y, x)

# Setting Title
ax.set_title("Grafik Linear")

# Setting Label
ax.set_xlabel("X-Axis")
ax.set_ylabel("Y-Axis")

# Adding Legend
ax.legend(labels = ('Garis 1', 'Garis 2'))

plt.show()

Output :

8. Banyak Plot

Kita telah mempelajari tentang komponen dasar grafik yang dapat ditambahkan sehingga dapat menyampaikan lebih banyak informasi. Salah satu caranya adalah dengan memanggil fungsi plot berulang kali dengan kumpulan nilai yang berbeda seperti yang ditunjukkan pada contoh di atas. Sekarang mari kita lihat cara memplot beberapa grafik menggunakan beberapa fungsi dan juga cara memplot subplot.

Metode 1 : Menggunakan metode add_axes()

Metode add_axes() digunakan untuk menambahkan sumbu pada gambar. Ini adalah metode kelas gambar.

Sintaks :

add_axes(self, *args, **kwargs)

Contoh :

# Python program to show pyplot module
import matplotlib.pyplot as plt
from matplotlib.figure import Figure
 
# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 55]
 
# Creating a new figure with width = 5 inches
# and height = 4 inches
fig = plt.figure(figsize =(5, 4))
 
# Creating first axes for the figure
ax1 = fig.add_axes([0.1, 0.1, 0.8, 0.8])
 
# Creating second axes for the figure
ax2 = fig.add_axes([1, 0.1, 0.8, 0.8])
 
# Adding the data to be plotted
ax1.plot(x, y)
ax2.plot(y, x)
 
plt.show()

Output :

Metode 2 : Menggunakan metode subplot()

Metode ini menambahkan plot lain pada posisi grid yang ditentukan pada gambar saat ini.

Sintaks :

subplot(nrows, ncols, index, **kwargs)

subplot(pos, **kwargs)

subplot(ax)

Contoh :

import matplotlib.pyplot as plt

# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 50]

# Creating figure object
plt.figure()

# adding first subplot
plt.subplot(121)
plt.plot(x, y)

# adding second subplot
plt.subplot(122)
plt.plot(y, x)

Output :

Metode 3 : Menggunakan metode subplots()

Fungsi ini digunakan untuk membuat gambar dan beberapa subplot secara bersamaan.

Sintaks :

matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)

Contoh :

import matplotlib.pyplot as plt

# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 50]

# Creating the figure and subplots
# according the argument passed
fig, axes = plt.subplots(1, 2)
 
# plotting the data in the
# 1st subplot
axes[0].plot(x, y)
 
# plotting the data in the 1st
# subplot only
axes[0].plot(y, x)
 
# plotting the data in the 2nd
# subplot only
axes[1].plot(x, y)

Output :

Metode 4 : Menggunakan metode subplot2grid()

Fungsi ini membuat objek sumbu di lokasi tertentu di dalam kisi dan juga membantu merentangkan objek sumbu ke beberapa baris atau kolom. Sederhananya, fungsi ini digunakan untuk membuat beberapa grafik dalam satu gambar.

Sintaks :

Plt.subplot2grid(shape, location, rowspan, colspan)

Contoh :

import matplotlib.pyplot as plt

# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 50]

# adding the subplots
axes1 = plt.subplot2grid (
(7, 1), (0, 0), rowspan = 2, colspan = 1)
 
axes2 = plt.subplot2grid (
(7, 1), (2, 0), rowspan = 2, colspan = 1)
 
# plotting the data
axes1.plot(x, y)
axes2.plot(y, x)

Output :

B. Jenis-jenis Plot Kurva dalam Matplotlib

Matplotlib mendukung berbagai jenis plot termasuk grafik garis, grafik batang, histogram, scatter plot, dll. Kami akan membahas grafik yang paling sering digunakan dalam artikel ini dengan bantuan beberapa contoh yang baik dan juga akan melihat bagaimana cara menyesuaikan setiap plot.

Catatan : Beberapa elemen seperti sumbu, warna umum untuk setiap plot sementara beberapa elemen adalah spesifik untuk setiap jenis plot.

1. Bagan Garis (Line Plot)

Bagan garis adalah salah satu plot dasar dan dapat dibuat menggunakan fungsi plot(). Ini digunakan untuk merepresentasikan hubungan antara dua data X dan Y pada sumbu yang berbeda.

Sintaks :

matplotlib.pyplot.plot(\*args, scalex=True, scaley=True, data=None, \*\*kwargs)

a. Bagan Garis Biasa

Contoh :

import matplotlib.pyplot as plt

# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 50]

# plotting the data
plt.plot(x, y)

# Adding title to the plot
plt.title("Line Chart")

# Adding label on the y-axis
plt.ylabel('Y-Axis')

# Adding label on the x-axis
plt.xlabel('X-Axis')

plt.show()

Output :

b. Bagan Garis dengan Kustomisasi

Mari kita lihat cara menyesuaikan Grafik Garis yang telah dibuat di atas. Kami akan menggunakan properti berikut :

  • color : Mengubah warna garis
  • linewidth : Menyesuaikan lebar garis
  • marker : Untuk mengubah gaya titik yang sebenarnya
  • markersize : Untuk mengubah ukuran penanda
  • linestyle : Untuk mendefinisikan gaya garis yang digambar

Berbagai Gaya Garis yang Tersedia :

Character
Definition
Solid line
Dashed line
-.
dash-dot line
:
Dotted line
.
Point marker
o
Circle marker
,
Pixel marker
v
triangle_down marker
^
triangle_up marker
<
triangle_left marker
>
triangle_right marker
1
tri_down marker
2
tri_up marker
3
tri_left marker
4
tri_right marker
s
square marker
p
pentagon marker
*
star marker
h
hexagon1 marker
H
hexagon2 marker
+
Plus marker
x
X marker
D
Diamond marker
d
thin_diamond marker
|
vline marker
_
hline marker

Contoh : 

import matplotlib.pyplot as plt

# initializing the data
x = [10, 20, 30, 40]
y = [20, 25, 35, 50]

# plotting the data
plt.plot(x, y, color='green', linewidth=3, marker='o',
         markersize=15, linestyle='--')
 
# Adding title to the plot
plt.title("Line Chart")
 
# Adding label on the y-axis
plt.ylabel('Y-Axis')
 
# Adding label on the x-axis
plt.xlabel('X-Axis')
 
plt.show()

Output :

2. Bagan Batang (Bar Plot)

Grafik batang adalah grafik yang menggambarkan kategori data dengan batang-batang berbentuk persegi panjang dengan panjang dan tinggi yang proporsional terhadap nilai yang mereka wakili. Plot batang dapat digambarkan secara horizontal atau vertikal. Grafik batang menggambarkan perbandingan antara kategori-kategori diskrit. Ini dapat dibuat menggunakan metode bar().

a. Bagan Batang Biasa

Contoh : 

import matplotlib.pyplot as plt

categories = ['Kategori A', 'Kategori B', 'Kategori C', 'Kategori D']
values = [25, 40, 30, 45]

plt.bar(categories, values, color='blue')
plt.title('Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')
plt.show()

Output :

b. Bagan Batang dengan Kustomisasi

Penyesuaian yang tersedia untuk Bagan Batang :

  • color : Untuk bagian wajah batang
  • edgecolor : Warna tepi batang
  • linewidth : Lebar tepi batang
  • width : Lebar batang

Contoh : 

import matplotlib.pyplot as plt

categories = ['Kategori A', 'Kategori B', 'Kategori C', 'Kategori D']
values = [25, 40, 30, 45]

plt.bar(categories, values, color='yellow', edgecolor='green', linewidth=2, width=0.6)
plt.title('Bar Chart with Style')
plt.xlabel('Categories')
plt.ylabel('Values')
plt.show()

Output :

c. Grafik Multi-Bar

Penyesuaian yang tersedia untuk Bagan Batang Grafik Multibar :

  • color : Untuk bagian wajah batang
  • linewidth : Lebar tepi batang
  • width : Lebar batang

Contoh : 

import matplotlib.pyplot as plt
import numpy as np

categories = ['Kategori A', 'Kategori B', 'Kategori C', 'Kategori D']
values1 = [25, 40, 30, 45]
values2 = [35, 30, 25, 50]

bar_width = 0.35
bar_positions1 = np.arange(len(categories))
bar_positions2 = bar_positions1 + bar_width

plt.bar(bar_positions1, values1, color='blue', width=bar_width, label='Group 1')
plt.bar(bar_positions2, values2, color='orange', width=bar_width, label='Group 2')

plt.title('Multi-Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')
plt.legend()
plt.show()

Output :

d. Stacked Chart

Penyesuaian yang tersedia untuk Stacked Chart :

  • color : Untuk bagian wajah batang
  • linewidth : Lebar tepi batang
  • width : Lebar batang

Contoh : 

import matplotlib.pyplot as plt
import numpy as np

categories = ['Kategori A', 'Kategori B', 'Kategori C', 'Kategori D']
values1 = [25, 40, 30, 45]
values2 = [35, 30, 25, 50]

bar_positions = np.arange(len(categories))

plt.bar(bar_positions, values1, color='blue', label='Group 1')
plt.bar(bar_positions, values2, color='orange', bottom=values1, label='Group 2')

plt.title('Stacked Bar Chart')
plt.xlabel('Categories')
plt.ylabel('Values')
plt.legend()
plt.show()

Output :

3. Histogram

Sebuah histogram digunakan untuk mewakili data yang disajikan dalam bentuk kelompok. Ini adalah jenis grafik batang di mana sumbu X mewakili rentang bin sementara sumbu Y memberikan informasi tentang frekuensi. Fungsi hist() digunakan untuk menghitung dan membuat histogram dari x.

Sintaks :

matplotlib.pyplot.hist(x, bins=None, range=None, density=False, weights=None, cumulative=False, bottom=None, histtype=’bar’, align=’mid’, orientation=’vertical’, rwidth=None, log=False, color=None, label=None, stacked=False, \*, data=None, \*\*kwargs)

a. Histogram Biasa

Contoh :

import matplotlib.pyplot as plt
import numpy as np

data = np.random.randn(1000)

plt.hist(data, color='green')
plt.title('Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.show()

Output :

b. Histogram dengan Kustomisasi

Penyesuaian yang tersedia untuk Histogram :

  • bins : Jumlah bin dengan lebar yang sama
  • color : Untuk mengubah warna latar
  • edgecolor : Warna tepi
  • linestyle : Untuk garis tepi
  • alpha : Nilai Pencampuran, antara 0 (transparan) dan 1 (tembus)

Contoh :

import matplotlib.pyplot as plt
import numpy as np

data = np.random.randn(1000)

plt.hist(data, bins=20, color='blue', edgecolor='black', linestyle='dashed', alpha=0.6)
plt.title('Histogram with Style')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.show()

Output :

4. Scatter Plot

Diagram Sebaran (Scatter Plot) digunakan untuk mengamati hubungan antar variabel. Metode scatter() dalam perpustakaan matplotlib digunakan untuk menggambar diagram sebaran.

Sintaks :

matplotlib.pyplot.scatter(x_axis_data, y_axis_data, s=None, c=None, marker=None, cmap=None, vmin=None, vmax=None, alpha=None, linewidths=None, edgecolors=None

a. Scatter Plot Biasa

Contoh :

import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(100)
y = np.random.rand(100)

plt.scatter(x, y)
plt.title('Scatter Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()

Output :

b. Scatter Plot dengan Kustomisasi

Customizations that are available for the scatter plot are :

  • size (s) : Ukuran Penanda / Marker Size (dapat berupa skalar atau array dengan ukuran yang sama dengan x atau y)
  • color (c)  : Warna urutan warna untuk penanda
  • marker : Gaya Penanda (Marker Style)
  • linewidths : Lebar batas penanda
  • edgecolor : Warna batas penanda
  • alpha : Nilai Pencampuran (Blending Value), antara 0 (Transparan) dan 1 (Solid)

Contoh :

import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(100)
y = np.random.rand(100)
sizes = np.random.rand(100) * 100
colors = np.random.rand(100)

plt.scatter(x, y, s=sizes, c=colors, linewidths=2)
plt.title('Scatter Plot with Style')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()

Output (Tanpa marker, edgecolor, dan alpha) :

Dan, inilah Contoh yang lebih lengkapnya :

import matplotlib.pyplot as plt
import numpy as np

x = np.random.rand(100)
y = np.random.rand(100)
sizes = np.random.rand(100) * 100
colors = np.random.rand(100)

plt.scatter(x, y, s=sizes, c=colors, marker='D', linewidths=2, edgecolors='black', alpha=0.7)
plt.title('Scatter Plot with Style')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()

Output :

5. Pie Chart (Diagram Lingkaran)

Diagram Lingkaran (Pie Chart) adalah grafik bulat yang digunakan untuk menampilkan hanya satu rangkaian data. Area irisan dari diagram ini mewakili persentase dari bagian-bagian data tersebut. Irisan dari diagram lingkaran ini disebut sebagai "wedges". Diagram ini dapat dibuat dengan menggunakan metode pie().

Sintaks :

matplotlib.pyplot.pie(data, explode=None, labels=None, colors=None, autopct=None, shadow=False)

a. Pie Chart Biasa

Contoh :

import matplotlib.pyplot as plt

sizes = [30, 20, 25, 15, 10]
labels = ['Slice 1', 'Slice 2', 'Slice 3', 'Slice 4', 'Slice 5']

plt.pie(sizes, labels=labels)
plt.title('Pie Chart')
plt.show()

Output :

b. Pie Chart dengan Kustomisasi

Berikut adalah penyesuaian yang tersedia untuk Pie Chart :

  • explode : Memindahkan irisan dari plot
  • autopct : Memberi label irisan dengan nilai numerik mereka.
  • color : Digunakan untuk memberi warna pada irisan.
  • shadow : Digunakan untuk membuat bayangan irisan.

Contoh :

import matplotlib.pyplot as plt

sizes = [30, 20, 25, 15, 10]
labels = ['Slice 1', 'Slice 2', 'Slice 3', 'Slice 4', 'Slice 5']
explode = (0, 0.1, 0, 0, 0)  # Explode the second slice (1st index)

plt.pie(sizes, labels=labels, explode=explode, autopct='%1.1f%%', colors=['red', 'orange', 'yellow', 'green', 'blue'], shadow=True)
plt.title('Customized Pie Chart')
plt.show()

Output :


6. Area Plot

Plot Area meluas di sepanjang area tertentu dengan lonjakan dan penurunan (tinggi dan rendah) dan juga dikenal sebagai stack plot. Mereka tampak identik dengan plot garis dan membantu melacak perubahan dari waktu ke waktu untuk dua atau lebih kelompok terkait untuk membuatnya menjadi satu kategori utuh. Dalam Matplotlib, ini direpresentasikan oleh fungsi stackplot().

a. Area Plot Biasa

Contoh :

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 10, 100)
y = np.sin(x)

plt.fill_between(x, y, color='skyblue', alpha=0.4)
plt.title('Basic Area Plot')
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.show()

Output :

b. Area Plot dengan Kustomisasi

Contoh :

import matplotlib.pyplot as pyplot

days = [1,2,3,4,5]
age =[63, 81, 52, 22, 37]
weight =[17, 28, 72, 52, 32]
pyplot.plot([],[], color='c', label = 'Prediksi Cuaca', linewidth=5)
pyplot.plot([],[],color = 'g', label='Terjadi Perubahan Cuaca', linewidth=5)
pyplot.stackplot(days, age, weight, colors = ['c', 'g'])
pyplot.xlabel('Fluktuasi dengan Waktu')
pyplot.ylabel('Hari')
pyplot.title('Laporan Cuaca dengan Area Plot')
pyplot.legend()

# Print the chart
pyplot.show()

Output :

C. Cara Menyimpan Grafik Plot

Untuk menyimpan plot dalam file di disk penyimpanan, metode savefig() digunakan. File dapat disimpan dalam berbagai format seperti .png, .jpg, .pdf, dll.

Sintaks :

pyplot.savefig(fname, dpi=None, facecolor=’w’, edgecolor=’w’, orientation=’portrait’, papertype=None, format=None, transparent=False, bbox_inches=None, pad_inches=0.1, frameon=None, metadata=None)

Contoh :

import matplotlib.pyplot as plt

days = [1, 2, 3, 4, 5]
age = [63, 81, 52, 22, 37]
weight = [17, 28, 72, 52, 32]

# Create empty lines for the legend
plt.plot([], [], color='c', label='Prediksi Cuaca', linewidth=5)
plt.plot([], [], color='g', label='Terjadi Perubahan Cuaca', linewidth=5)

# Stack plot
plt.stackplot(days, age, weight, colors=['c', 'g'])

plt.xlabel('Fluktuasi dengan Waktu')
plt.ylabel('Hari')
plt.title('Laporan Cuaca dengan Area Plot')
plt.legend()

# Save the chart
plt.savefig("output1.png", facecolor='y', bbox_inches="tight", pad_inches=0.3, transparent=True)

# Print the chart
plt.show()

Hasil Output :


Dan, jika ingin melihat Artikel sebelumnya tentang Tutorial Library NumPy, SciPy, dan Matplotlib, silakan lihat di siniUntuk melihat Artikel tentang Modul Pemrograman Python, silakan lihat di sini.

Dan nantikan juga Pembahasan selanjutnya tentang Jenis-jenis Visualisasi Data menggunakan Python Matplotlib dan Seaborn!

Terima Kasih 😄😘👌👍 :)

Wassalamu‘alaikum wr. wb.

Post a Comment

Previous Post Next Post