Visualisasi Data Dengan Matplotlib
Visualisasi Data Dengan Matplotlib
I.PYTHON
Python adalah sebuah bahasa pemrograman dinamis yang mendukung pemrograman
berorientasi obyek. Python ini dapat digunakan untuk berbagai keperluan pengembangan
perangkat lunak dan dapat berjalan di berbagai platform sistem operasi seperti Windows,
Linux, Mac OS X, Amiga, Palm, Symbian dll.
Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai
kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI adalah 1.2.
Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan Python. Versi
terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python
pindah ke BeOpen.com yang merupakan sebuah perusahaan komersial dan membentuk
BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0,
Guido dan beberapa anggota tim PythonLabs pindah ke DigitalCreations.
II.Matplotlib
Matplotlib adalah salah satu pustaka pada bahasa pemrograman python yang digunakan untuk
memvisualisasikan data. Matplotlib dikenal di dunia komputasi karena hasil gambar
keluarannya memiliki kualitas yang baik. Matplotlib menyediakan banyak fungsi di antaranya
untuk menggambar grafik biasa, grafik polar, plot kontur, grafik 3D, dll.
III.Scipy
SciPy adalah modul untuk melakukan beberapa perhitungan scientific dengan python. Sedikit
contohnya adalah integral numerik, menyelesaikan persamaan differensial secara numerik,
optimisasi, interpolasi, pemrosesan sinyal, dll.
IV.Numpy
NumPy adalah modul yang menyediakan objek-objek matematika yang memudahkan dalam
melakukan perhitungan. Untuk menggunakan SciPy, biasanya dibutuhkan NumPy. Objek utama
yang disediakan NumPy adalah array yang dapat berperan sebagai matrix. Array ini tidak sama
dengan array biasa pada bahasa-bahasa pemrograman secara umum.
III.Percobaan Visualisasi Data
Percobaan dilakukan dengan membaca data yang diambil dari Badan Pusat Statistik data
Sensus Penduduk 2010 di http://sp2010.bps.go.id/index.php/navigation/topik.
Data yang diambil berupa data excel yang kemudian diubah menjadi format CSV untuk bisa
dibaca oleh bahasa python.
Percobaan dilakukan dengan dua(2) data excel :
1. Penduduk Berumur 5 Tahun Keatas Menurut Kelompok Umur dan Kemampuan Berbahasa
Indonesia.
2. Penduduk Berumur 5 Tahun Keatas Menurut Kelompok Umur dan Kemampuan Baca Tulis.
Kode Program :
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np
import numpy
#from IPython.Shell import IPShellEmbed
#sh = IPShellEmbed()
data = numpy.genfromtxt("huruf.csv",delimiter = ',')
latin = []
lainnya = []
buta =[]
tdk = []
jumlah = []
for i in data :
latin.append(i[0])
lainnya.append(i[1])
buta.append(i[2])
tdk.append(i[3])
jumlah.append(i[4])
data = np.array([
latin,
lainnya,
buta,
tdk,
jumlah
])
column_names = ['5-9','10-14','15-19','20-24','25-29', '30-34', '35-39',
'40-44', '45-49', '50-54', '55-59', '60-64', '65-69', '70-
74',
'75-79', '80-84', '85-89', '90-94','95+']
row_names1 = ('HurufLatin', 'DapatBerbahasaIndonoesia', 'HurufLainnya',
'TidakDptBerbhasa.Ind',
'Butahuruf',
'TidakDitanyakan','TidakDitanyakan','Jumlah','Jumlah')
data1 = numpy.genfromtxt("bahasa.csv",delimiter = ',')
dapat = []
tidakdapat = []
tdkdtn = []
jumlahh =[]
for i in data1 :
dapat.append(i[0])
tidakdapat.append(i[1])
tdkdtn.append(i[2])
jumlahh.append(i[3])
data1 = np.array([
dapat,
tidakdapat,
tdkdtn,
jumlahh
])
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
i=0
for c, z in zip(['y', 'g', 'b', 'r','black'],
[0, 1, 2, 3, 4 ]):
xs = np.arange(19)
ys = data[i]
i=i+1
cs = [c] * len(xs)
ax.bar(xs, ys, zs=z, zdir='y', color=cs, alpha=0.7)
i=0
for c, z in zip(['#00FFFF', '#9932CC', '#FF00FF','#ADFF2F'],
[0.5, 1.5, 2.5, 3.5 ]):
x = np.arange(19)
y = data1[i]
i=i+1
cs = [c] * len(x)
ax.bar(x, y, zs=z, zdir='y', color=cs, alpha=0.7)
ticksy = np.arange(0, 4.5, 0.5)
plt.yticks(ticksy, row_names1)
ticksx = np.arange(0, 19, 1)
plt.xticks(ticksx, column_names)
ax.set_xlabel('Kelompok Umur')
ax.set_ylabel('Kemampuan Baca tulis & Berbahasa Indonesia')
ax.set_zlabel('Jumlah')
ax.xaxis.label.set_color('blue')
ax.yaxis.label.set_color('blue')
ax.zaxis.label.set_color('blue')
for labeltick in ax.xaxis.get_majorticklabels():
labeltick.set_fontsize(8)
labeltick.set_rotation('vertical')
for labeltick in ax.yaxis.get_majorticklabels():
labeltick.set_fontsize(8)
labeltick.set_rotation('vertical')
plt.title("Kemampuan Baca Tulis & Berbahasa Indonesia menurut Kelompok Umur")
plt.show()
Grafik Hasil :