DATA VISUALIZATION — Menggunakan Matplotlib

Sherina Eria H
8 min readNov 20, 2020

--

Saya sedang belajar Data Visualisasi menggunakan Matplotlib. Apa itu matplotlib? Matplotlib untuk data visualisasi adalah sebuah library dari python yang low level digunakan untuk membangun sebuah objek yang visual. Maksud dari low level adalah memberikan kontrol hingga ke komponen kecil seperti jika membuat mobil maka diperlukan kontrol hingga ke bautnya.

Hal pertama yang perlu dilakukan untuk menggunakan library matplotlib adalah menginstall library tersebut didalam python. Tulis kode dibawah ini pada command prompt.

pip install matplotlib

atau di anaconda prompt.

conda install matplotlib

Jika sudah selesai install bisa kita cek dengan menggunakan kode dibawah ini.

pip list

Jika sudah ada library tersebut berarti library matplotlib sudah berhasil kita install.

Selanjutnya terdapat 2 komponen dasar dari matplotlib yang pertama yaitu figure dan axes. Figure adalah windows/page/halaman dalam visual. Seperti contoh jika kita menggambar/membuat menggunakan kertas maka kertas itu yang dinamakan sebagai figure. Didalam kertas itu kita bisa membuat sumbu x, y, grafik, text bahkan label. Untuk membuat figure pada pandas kita dapat menggunakan fungsi figure(). Axes merupakan suatu area yang ada didalam figure dimana data akan diplot. Didalam akses kita dapat memanipulasi data seperti memanipulasi garis sumbu x dan y. Dalam axes kita dapat menggunakan fungsi ax(). Kemudian yang kedua adalah plot. Plot digunakan untuk menggambar garis atau penanda pada sebuah gambar.

Berikut merupakan contoh menggunakan matplotlib

# mendefinisikan library matplotlib
import matplotlib.pyplot as plt
# membuat visualisasi menggunakan objek figure
fig = plt.figure()
# mendefinisikan objek axes
ax = fig.add_subplot()
# mendefinisikan data dengan list
data_x = [1, 2, 3, 4, 5]
data_y = [10, 25, 50, 70, 90]

#mendefinisikan data ke objek
ax.plot(data_x, data_y)
# menampilkan data
plt.show()
Hasil dari code diatas

contoh lainnya

# mendefinisikan library matplotlib
import matplotlib.pyplot as plt
# membuat visualisasi menggunakan objek figure
fig = plt.figure()
# mendefinisikan objek axes
ax = fig.add_subplot()
# mendefinisikan data
xlabel = ['susu', 'roti', 'coklat', 'gula', 'keju', 'cream', 'selai']
ylabel = [10, 20, 30, 18, 45, 5, 27]
#mendefinisikan data ke objek
ax.plot(xlabel, ylabel)
# menampilkan data
plt.show()

Setelah membuat visualisasinya kita akan belajar memberikan warna agar visualisasinya semakin menarik.

# definisikan library
import matplotlib.pyplot as plt
# definisikan data
xlabel = ['susu', 'roti', 'coklat', 'gula', 'keju', 'cream', 'selai']
ylabel = [10, 20, 30, 18, 45, 5, 27]
# definisikan figure dan axes
fig = plt.figure()
ax = fig.add_subplot()
# memasukkan data
ax.plot(xlabel, ylabel)
# menampilkan visualisasi
plt.show()
Hasil visualisasi sebelum diberi warna

Ketik ulang kode dibawah ini

# definisikan figure dan axes
fig = plt.figure()
ax = fig.add_subplot()
# memasukkan data dan beri warna
ax.plot(xlabel, ylabel, 'r')
# menampilkan visualisasi
plt.show()
Hasil visualisasi yang telah diberi warna sesuai dengan kode yaitu ‘r’ yang artinya red/merah

Warna tersebut bisa kalian cari disini

Setelah itu membuat marker visualisasi pada matplotlib

# definisikan library
import matplotlib.pyplot as plt
# definisikan data
xlabel = ['susu', 'roti', 'coklat', 'gula', 'keju', 'cream', 'selai']
ylabel = [10, 20, 30, 18, 45, 5, 27]
# definisikan figure dan axes
fig = plt.figure()
ax = fig.add_subplot()
# masukan nilai data, warna, dan marker
ax.plot(xlabel, ylabel, 'r-.')
# menampilkan visualisasi
plt.show()
ax.plot(xlabel, ylabel, ‘r-.’)
ax.plot(xlabel, ylabel, ‘r-^’)
ax.plot(xlabel, ylabel, ‘rp’)

Setelah itu membuat canvas

# definisikan library
import matplotlib.pyplot as plt
# definisikan data
xlabel = ['susu', 'roti', 'coklat', 'gula', 'keju', 'cream', 'selai']
ylabel = [10, 20, 30, 18, 45, 5, 27]
# definisikan figure dan axes
fig = plt.figure()
ax = fig.add_subplot()
# membuat grid canvas
ax.grid()
# masukan nilai data, warna, dan marker
ax.plot(xlabel, ylabel, color='blue', marker='o')
# menampilkan visualisasi
plt.show()
Membuat grid canvas

Kemudian merubah linestyle

# definisikan library
import matplotlib.pyplot as plt
# definisikan data
xlabel = ['susu', 'roti', 'coklat', 'gula', 'keju', 'cream', 'selai']
ylabel = [10, 20, 30, 18, 45, 5, 27]
# definisikan figure dan axes
fig = plt.figure()
ax = fig.add_subplot()
# membuat grid canvas
ax.grid()
# masukan nilai data, warna, dan marker
ax.plot(xlabel, ylabel, color='blue', marker='o', linestyle=':')
# menampilkan visualisasi
plt.show()
linestyle=’ : ’
linestyle=’ -. ’

Referensi linestyle klik disini

Merubah ukuran marker

# definisikan library
import matplotlib.pyplot as plt
# definisikan data
xlabel = ['susu', 'roti', 'coklat', 'gula', 'keju', 'cream', 'selai']
ylabel = [10, 20, 30, 18, 45, 5, 27]
# definisikan figure dan axes
fig = plt.figure()
ax = fig.add_subplot()
# membuat grid canvas
ax.grid()
# masukan nilai data, warna, dan marker
ax.plot(xlabel, ylabel, color='blue', marker='o', linestyle='-.', markersize=10)
# menampilkan visualisasi
plt.show()
Markersize=10

Merubah linewidth

# definisikan library
import matplotlib.pyplot as plt
# definisikan data
xlabel = ['susu', 'roti', 'coklat', 'gula', 'keju', 'cream', 'selai']
ylabel = [10, 20, 30, 18, 45, 5, 27]
# definisikan figure dan axes
fig = plt.figure()
ax = fig.add_subplot()
# membuat grid canvas
ax.grid()
# masukan nilai data, warna, dan marker
ax.plot(xlabel, ylabel, color='blue', marker='o', linestyle='-.', markersize=10, linewidth=5)
# menampilkan visualisasi
plt.show()
Linewidth=5

Menambahkan judul pada line chart

# definifikan library
import matplotlib.pyplot as plt
# definisikan data
xlabel = ['susu', 'roti', 'coklat', 'gula', 'keju', 'cream', 'selai']
ylabel = [10, 20, 30, 18, 45, 5, 27]
# definisikan figure dan axes
fig = plt.figure()
ax = fig.add_subplot()
# membuat grid canvas
ax.grid()
# masukan nilai data, warna, dan marker
ax.plot(xlabel, ylabel, color='blue', marker='o', linestyle=':', markersize=10, linewidth=3)
# membuat judul
plt.title('Line Chart Penjualan Makanan di AA Market')
# menampilkan visualisasi
plt.show()
Membuat judul

Memberi nama pada x dan y

# definifikan library
import matplotlib.pyplot as plt
# definisikan data
xlabel = ['susu', 'roti', 'coklat', 'gula', 'keju', 'cream', 'selai']
ylabel = [10, 20, 30, 18, 45, 5, 27]
# definisikan figure dan axes
fig = plt.figure()
ax = fig.add_subplot()
# membuat grid canvas
ax.grid()
# masukan nilai data, warna, dan marker
ax.plot(xlabel, ylabel, color='blue', marker='o', linestyle=':', markersize=10, linewidth=3)
# membuat judul
plt.title('Line Chart Penjualan Makanan di AA Market')
# penamaan x dan y
plt.xlabel('Nama Produk')
plt.ylabel('Jumlah Terjual')
# menampilkan visualisasi
plt.show()

Menyimpan gambar

# definifikan library
import matplotlib.pyplot as plt
# definisikan data
xlabel = ['susu', 'roti', 'coklat', 'gula', 'keju', 'cream', 'selai']
ylabel = [10, 20, 30, 18, 45, 5, 27]
# definisikan figure dan axes
fig = plt.figure()
ax = fig.add_subplot()
# membuat grid canvas
ax.grid()
# masukan nilai data, warna, dan marker
ax.plot(xlabel, ylabel, color='blue', marker='o', linestyle=':', markersize=10, linewidth=3)
# membuat judul
plt.title('Line Chart Penjualan Makanan di AA Market')
# penamaan x dan y
plt.xlabel('Nama Produk')
plt.ylabel('Jumlah Terjual')
# menyimpan image
plt.savefig('Penjualan.jpg', dpi=150)
# menampilkan visualisasi
plt.show()
Gambar akan tersimpan di folder

Membuat multiple plot

# definisikan library
import matplotlib.pyplot as plt
# data penjualan bulan januari
data_x1 = ['susu', 'roti', 'coklat', 'gula', 'keju', 'cream', 'selai']
data_y1 = [10, 15, 20, 25, 30, 40, 50]
# data penjualan bulan februari
data_x2 = ['susu', 'roti', 'coklat', 'gula', 'keju', 'cream', 'selai']
data_y2 = [20, 25, 30, 34, 33, 40, 55]
# data penjualan bulan maret
data_x3 = ['susu', 'roti', 'coklat', 'gula', 'keju', 'cream', 'selai']
data_y3 = [24, 29, 35, 40, 33, 30, 15]
# data penjualan bulan april
data_x4 = ['susu', 'roti', 'coklat', 'gula', 'keju', 'cream', 'selai']
data_y4 = [30, 40, 40, 55, 53, 60, 60]
# figure dan axes
fig = plt.figure()
ax = fig.add_subplot()
# masukan nilai axes
ax.plot(data_x1, data_y1, marker='o', label='Januari')
ax.plot(data_x2, data_y2, marker='o', label='Februari')
ax.plot(data_x3, data_y3, marker='o', label='Maret')
ax.plot(data_x4, data_y4, marker='o', label='April')
# menampilkan keterangan
ax.legend()
# tampilkan data
plt.show()

Membuat plot per bulan# membuat figure
fig, ax = plt.subplots(nrows=2, ncols=2)

# masukan datanya
ax[0][0].plot(data_x1, data_y1, color=’c’)
ax[0][1].plot(data_x2, data_y2, color=’y’)
ax[1][0].plot(data_x3, data_y3, color=’g’)
ax[1][1].plot(data_x4, data_y4, color=’r’)

# menampilkan plot
plt.show()

Membuat bar chart

import matplotlib.pyplot as plt
import pandas as pd
data1 = pd.read_csv('siswa.csv', encoding='latin', sep=';')
data1
data1.info()
data = data1['ekstrakulikuler'].value_counts()
category = data.index
frequency = data.values
print(category)
print(frequency)
# definisikan figure dan axes
fig, ax = plt.subplots()
# definisikan fungsi dari bar chart
ax.bar(category, frequency, color='r')
ax.set_xticklabels(category, rotation=45)
# menampilkan plot
plt.show()
Bar

Membuat scatter plot

# definisikan figure dan axes
fig, ax = plt.subplots()
# defnisikan fungsi scatter
ax.scatter(category, frequency, color='r')
# tampilkan plot
plt.show()
Scatter

Membuat pie chart

labels = 'Nila', 'Sapi', 'Ayam', 'Lele'
sizes = [15, 30, 45, 10]
explode = (0, 0, 0.1, 0)
# definisikan figure dan axis
fig1, ax1 = plt.subplots()
# definisikan fungsi pie chart
ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%', shadow=True,
startangle=90)
ax1.axis('equal')
#tampilkan plot
plt.show()
Pie chart

Membuat historgram

import numpy as np
import matplotlib.pyplot as plt
# definisikan data
nilai_siswa = [20, 15, 17, 60, 80, 50, 90, 88, 99, 70, 100, 30, 40, 60, 55]
num_bins = 7plt.hist(nilai_siswa, num_bins, facecolor='b')
plt.grid()
plt.xlabel('nilai')
plt.ylabel('kelompok interval')
plt.show()
Histogram

Membuat sigma

import numpy as np
import matplotlib.pyplot as plt
mu, sigma = 100, 15
x = mu + sigma * np.random.randn(10000)
n, bins, pathces = plt.hist(x, 50, density=True, facecolor='b', alpha=0.7)
plt.xlabel('Smart')
plt.ylabel('Probability')
plt.title('Histogram of IQ')
plt.text(60, .025, r'$mu=100,\ \sigma=15$')
plt.xlim(40,160)
plt.ylim(0, 0.03)
plt.grid()
plt.show()
Sigma

Membuat boxplot

import numpy as np
import matplotlib.pyplot as plt
# definisikan data
nilai_ipa = (50, 60, 10, 95, 90)
nilai_ips = (40, 100, 30, 80, 70)
nilai_mtk = (50, 55, 60, 70, 45)
fig, ax = plt.subplots()ax.boxplot((nilai_ipa, nilai_ips, nilai_mtk), vert=False, showmeans=True, meanline=True,
labels=('Nilai IPA', 'Nilai IPS', 'Nilai Matematika'), patch_artist=True,
medianprops={'linewidth' : 2, 'color' :'red'},
meanprops={'linewidth' : 2, 'color' :'yellow'})
plt.grid()
plt.show()
Subplot

Begitulah cara menggunakan library matplotlib.

--

--

Sherina Eria H
Sherina Eria H

Written by Sherina Eria H

0 Followers

Tulis menulis

Responses (1)