About Me

Hai, saya Rosihan Ari Yuana. Saya sehari-hari adalah mengajar di Universitas Sebelas Maret.

Bidang riset saya tentang adaptive learning, computer aided learning, dan datascience

Selain itu, saya juga seorang penulis buku dan blogger.

More about me...

  • Home
  • /
  • Data Science
  • /
  • Python Data Visualization dengan Matplotlib Bag. 1 (Basic Plot, Bar Plot)

Python Data Visualization dengan Matplotlib Bag. 1 (Basic Plot, Bar Plot)

Salah satu kemampuan yang harus dimiliki seorang Data Scientist adalah Python Data Visualization. Data Visualization penting untuk kita supaya bisa mendapatkan gambaran mengenai persebaran data serta insight di dataset. Common case nya adalah Data Scientist diharuskan untuk mem-produce data visualization dari csv dataset. Hal itu dapat dilakukan dengan Matplotlib library.

Di tutorial Python Data Visualization part 1 ini, kita akan belajar bagaimana membuat basic plotting dan bar plot menggunakan salah satu library Python yang handal, yaitu Matplotlib.

Penjelasannya adalah sebagai berikut:

Pertama-tama kita buat dataset yang akan kita gunakan untuk latihan terlebih dahulu. Kita akan membuat dataset berisi random numbers. Oleh karena itu, kita membutuhkan Numpy library untuk generate random numbers, dan Pandas library untuk membuat dataframe.

import numpy as np
import pandas as pd

Setelah kita sudah mengimpor Numpy dan Pandas library, selanjutnya kita membuat dataset dengan cara sebagai berikut.

df = pd.DataFrame(np.random.randint(-100,100,size=(100, 4)), columns=list('ABCD'))

Perintah di atas berarti kita membuat dataframe berisi random numbers antara -100 sampai 100 sejumlah 4 kolom dan 100 baris dengan nama masing-masing kolomnya adalah A, B, C, D. Dengan mengetikkan perintah df setelahnya, maka dataframe yang baru saja kita buat akan muncul seperti dibawah ini:

Dataframe untuk latihan

Setelah data sudah jadi, sekarang kita mulai membuat data visualization. Untuk melakukannya, kita membutukan Matplotlib library. Cara mengimpornya adalah sebagai berikut:

import matplotlib.pyplot as plt

Basic Plotting Data Visualization

Pembahasan yang pertama adalah basic plotting. Kita akan membuat plot data dari kolom A vs nomor index nya. Caranya adalah sebagai berikut:

df['A'].plot()
Basic plot chart visualization
Basic plotting

Perintah di atas membuat plot data di kolom A dengan sumbu X yaitu nomor index/row, kemudian sumbu Y adalah nilai di dalam nya.

Multiple Column Data Plot Visualization

Apabila dataframe memiliki banyak kolom seperti dataframe yang sudah kita buat, kita juga bisa membuat multiple column plot. Karena fluktuasi nilai per row sangat tinggi, itu akan mengakibatkan tumpukan plot sulit dipahami. Sekedar untuk memudahkan kita dalam latihan ini, saya akan menambahkan fungsi cumsum() atau cumulative sum. Caranya seperti di bawah ini:

df2 = df.cumsum()
df2
Dataframe setelah diberi perintah cumsum()

Fungsi di atas mengisi nilai dengan menjumlahkan nilai di atasnya. Dengan begitu fluktuasi data menjadi berkurang. Kemudian untuk membuat multiple column plot, kita hanya perlu memasukkan perintah seperti di bawah ini:

df2.plot()
Multiple column plot chart visualization
Multiple column plot

Perintah multiple column plot justru bisa lebih sederhana dari single column plot karena jika dataset kita terdiri dari beberapa plot dan kita memasukkan perintah df.plot(), maka otomatis akan dibuat multiple column plot sesuai dengan jumlah kolom yang ada dalam dataset kita.

Plot dengan Kolom Sebagai Sumbu X dan Y

Sering juga ada kebutuhan untuk melihat korelasi antara dua kolom dengan data visualization. Untuk keperluan latihan, mari buat kolom baru terlebih dahulu yang isinya adalah nomor baris di dataset yang sudah kita siapkan. Caranya adalah sebagai berikut:

df2['Number'] = pd.Series(list(range(len(df2))))

Perintah di atas berarti kita membuat kolom baru yang isinya length dari dataframe di baris dimana nilai tersebut dituliskan. Ini akan menghasilkan nomor row. Sehingga datasetnya menjadi seperti dibawah ini:

Dataframe dengan tambahan kolom ‘Number’

Kemudian kita masukkan perintah seperti di bawah ini :

df3.plot(x="Number", y="B")
Chart visualization dengan kolom sebagai sumbu X dan Y
Plot dengan kolom sebagai sumbu X dan Y

Arti dari perintah di atas adalah kita membuat plotting data dengan kolom ‘Number‘ sebagai sumbu X dan kolom ‘B’ sebagai sumbu Y.

Bar Plot Data Visualization

Selanjutnya adalah bar plot. Contoh kita ingin membuat bar plot dari nilai di row ke 5 dari dataframe. Caranya adalah sebagai berikut:

df.iloc[5]
Data di row ke-5 dataframe

Di atas adalah data dari row ke-5 di dataframe. Kemudian pembuatan plotting adalah seperti dibawah ini:

plt.figure;
df.iloc[5].plot(kind="bar");
Bar plot chart visualization
Bar plot

Multiple Bar Plot

Dalam bar plot kita juga bisa membuat multiple plotting. Contoh kita ingin membuat multiple bar plot yang berisi nilai dari 5 baris pertama. Caranya adalah sebagai berikut:

df.head().plot.bar()
Multiple bar plot chart visualization
Multiple bar plot

Stacked Bar Plot

Dengan range data yang sama yaitu 5 baris pertama, kita juga bisa membuat jenis bar plot yang berbeda yaitu stacked bar plot. Caranya adalah sebagai berikut:

df.head().plot.bar(stacked=True);
Stacked bar plot chart visualization
Stacked bar plot

Horizontal Bar Plot

Jenis plot selanjutnya adalah horizontal bar plot. Caranya adalah sebagai berikut:

df.head().plot.barh();
Horizontal bar plot chart visualization
Horizontal Bar Plot

Demikian part 1 dari materi Python Dataframe Data Visualization. Selamat mencoba. Semoga bermanfaat.

Source code yang saya gunakan untuk menjelaskan di artikel ini bisa di download di link di bawah ini:


Beli Buku Pemrograman

5 Langkah Mudah Menguasai React Native
Rahasia Inti Master PHP & MySQLi (Improved)
Jalan Pintas Menjadi Master React JS
Trik Kolaborasi React dengan PHP & MySQL

Article by Request

Anda belum memahami konsep pemrograman PHP Native, Python, Java, atau SQL? atau Anda belum punya ide penyelesaian dari studi kasus yang dihadapi sampai saat ini.

Silakan manfaatkan layanan Article by Request di blog ini.

Bagikan artikel ini jika bermanfaat !

Alumni dari Pendidikan Teknik Informatika dan Komputer, Universitas Sebelas Maret. Master Graduate of Computer Science and Information Engineering di National Central University, Taiwan. Sekarang bekerja sebagai Data Analyst di Teaching Excellence Center Divison, National Yunlin University of Science and Technology, Yunlin, Taiwan.

Leave a Reply