Jenis-jenis Visualisasi Data menggunakan Seaborn Python (dan Matplotlib)

Assalamu‘alaikum wr. wb.

Halo guys! Jika sebelumnya sudah membahas tentang Visualisasi Data menggunakan Python Matplotlib, kali ini kita akan menjelaskan Visualisasi Data menggunakan Seaborn.

Visualisasi Data menggunakan Python Seaborn dan Matplotlib

Sumber Artikel Materi : Geeksforgeeks.org

Terkadang mungkin terlihat lebih mudah untuk melalui sekumpulan titik data dan menghasilkan wawasan darinya, tetapi biasanya proses ini mungkin tidak memberikan hasil yang baik. Banyak hal dapat tertinggal sebagai hasil dari proses ini. Selain itu, sebagian besar set data yang digunakan dalam kehidupan nyata terlalu besar untuk dianalisis secara manual. Inilah inti dari peran visualisasi data.

Visualisasi data adalah cara yang lebih mudah untuk menyajikan data, seberapa pun kompleksnya, untuk menganalisis tren dan hubungan antar variabel dengan bantuan representasi gambar.

Berikut adalah keuntungan dari Visualisasi Data :

  • Representasi lebih mudah dari data yang kompleks.
  • Menyoroti area yang baik dan buruk dalam kinerja.
  • Mengeksplorasi hubungan antara titik data.
  • Mengidentifikasi pola data bahkan untuk titik data yang lebih besar.

Saat membangun visualisasi, selalu disarankan untuk mempertimbangkan beberapa poin berikut :

  • Pastikan penggunaan yang tepat dari bentuk, warna, dan ukuran saat membangun visualisasi.
  • Plot/grafik menggunakan sistem koordinat lebih terlihat.
  • Pengetahuan tentang plot yang sesuai dengan jenis data membawa lebih banyak kejelasan pada informasi.
  • Penggunaan label, judul, legenda, dan penunjuk memberikan informasi yang lancar kepada audiens yang lebih luas.

Sifat Visualisasi

Tergantung pada jumlah variabel yang digunakan untuk membuat visualisasi dan jenis variabelnya, dapat ada berbagai jenis grafik yang dapat kita gunakan untuk memahami hubungan. Berdasarkan jumlah variabel, kita bisa memiliki :

  • Plot Univariat (melibatkan hanya satu variabel)
  • Plot Bivariat (lebih dari satu variabel yang diperlukan)
  • Plot Univariat dapat digunakan untuk variabel kontinu untuk memahami sebaran dan distribusi variabel, sementara untuk variabel diskrit, ini dapat memberi tahu kita jumlahnya.

Demikian pula, Plot Bivariat untuk variabel kontinu dapat menampilkan statistik penting seperti korelasi, untuk variabel kontinu versus diskrit dapat membawa kita pada kesimpulan yang sangat penting seperti pemahaman distribusi data di berbagai tingkat variabel kategorikal. Plot bivariat antara dua variabel diskrit juga dapat dikembangkan.

Sebelum memulai, Anda bisa mengunduh (Download) File diabetes.csv di sini.

1. Plot Kotak (Box Plot)

Sebuah diagram kotak (boxplot), juga dikenal sebagai diagram kotak dan cambuk, kotak dan cambuk jelas ditampilkan dalam gambar di bawah ini. Ini adalah representasi visual yang sangat baik ketika datang untuk mengukur distribusi data. Dengan jelas menunjukkan nilai median, pencilan, dan kuartil. Pemahaman distribusi data adalah faktor penting lainnya yang mengarah pada pembangunan model yang lebih baik. Jika data memiliki pencilan, diagram kotak adalah cara yang direkomendasikan untuk mengidentifikasinya dan mengambil tindakan yang diperlukan.

Sintaks :

seaborn.boxplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, width=0.8, dodge=True, fliersize=5, linewidth=None, whis=1.5, ax=None, **kwargs)

Parameter :

  • x, y, hue: Input untuk memplot data bentuk panjang.
  • data: Kumpulan data untuk pembuatan plot. Jika x dan y tidak ada, maka diartikan sebagai bentuk lebar.
  • color: Warna untuk semua elemen.

Diagram kotak dan cambuk menunjukkan bagaimana data tersebar. Lima informasi umumnya disertakan dalam diagram ini :

  • Minimum ditunjukkan di ujung kiri diagram, di ujung "cambuk" kiri
  • Kuartil pertama, Q1, berada di ujung kiri kotak (cambuk kiri)
  • Median ditunjukkan sebagai garis di tengah kotak
  • Kuartil ketiga, Q3, ditunjukkan di ujung kanan kotak (cambuk kanan)
  • Maksimum berada di ujung kanan kotak

Seperti yang dapat dilihat dalam representasi dan diagram di bawah ini, diagram kotak dapat digambarkan untuk satu atau lebih variabel, memberikan wawasan yang sangat baik pada data kita.

a. Box Plot dan Violin Plot

Contoh : 

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd  # Import pandas or use your dataset

# Sample data (replace this with your actual dataset)
diabetes = pd.read_csv("diabetes.csv")

# Box plot and violin plot for Outcome vs BloodPressure
_, axes = plt.subplots(1, 2, sharey=True, figsize=(10, 4))

# Box plot illustration
sns.boxplot(x='Outcome', y='BloodPressure', data=diabetes, ax=axes[0])

# Violin plot illustration
sns.violinplot(x='Outcome', y='BloodPressure', data=diabetes, ax=axes[1])

# Show the plots
plt.show()

Output :

b. Multiple Box Plot

Contoh : 

import seaborn as sns
import pandas as pd  # Import pandas or use your dataset

# Sample data (replace this with your actual dataset)
diabetes = pd.read_csv("diabetes.csv")

# Box plot for all the numerical variables
sns.set(rc={'figure.figsize': (16, 5)})

# Multiple box plot illustration
sns.boxplot(data=diabetes.select_dtypes(include='number'))

# Show the plot
plt.show()

Output :


2. Scatter Plot

Diagram pencar atau scatter plot adalah diagram bivariat yang memiliki kemiripan yang besar dengan grafik garis dalam cara pembuatannya. Grafik garis menggunakan garis pada sumbu X-Y untuk memplot fungsi kontinu, sementara scatter plot mengandalkan titik-titik untuk merepresentasikan data individual. Plot ini sangat berguna untuk melihat apakah dua variabel saling berkorelasi. Scatter plot bisa berdimensi 2 atau 3.

Sintaks :

seaborn.scatterplot(x=None, y=None, hue=None, style=None, size=None, data=None, palette=None, hue_order=None, hue_norm=None, sizes=None, size_order=None, size_norm=None, markers=True, style_order=None, x_bins=None, y_bins=None, units=None, estimator=None, ci=95, n_boot=1000, alpha=’auto’, x_jitter=None, y_jitter=None, legend=’brief’, ax=None, **kwargs)

Parameter :

  • x, y: Variabel data input yang seharusnya bersifat numerik.
  • data: Dataframe di mana setiap kolom adalah variabel dan setiap baris adalah suatu observasi.
  • size: Variabel pengelompokan yang akan menghasilkan titik-titik dengan ukuran yang berbeda.
  • style: Variabel pengelompokan yang akan menghasilkan titik-titik dengan penanda yang berbeda.
  • palette: Variabel pengelompokan yang akan menghasilkan titik-titik dengan penanda yang berbeda.
  • markers: Objek yang menentukan bagaimana menggambar penanda untuk berbagai tingkatan.
  • alpha: Proporsional opasitas titik-titik.

Pengembalian : Metode ini mengembalikan objek Axes dengan plot yang digambar di atasnya.

Keuntungan dari Plot Sebar (Scatter Plot) :

  • Menampilkan korelasi antar variabel
  • Cocok untuk kumpulan data besar
  • Lebih mudah untuk menemukan cluster data
  • Representasi yang lebih baik dari setiap titik data

a. 2D Scatter Plot

Contoh : 

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd  # Import pandas or use your dataset

# Sample data (replace this with your actual dataset)
diabetes = pd.read_csv("diabetes.csv")

# Scatter plot illustration using Seaborn
plt.figure(figsize=(8, 6))
sns.scatterplot(x='DiabetesPedigreeFunction', y='BMI', data=diabetes, hue='Outcome', palette='viridis')

# Set plot labels and title
plt.title('2D Scatter Plot of DiabetesPedigreeFunction vs BMI')
plt.xlabel('DiabetesPedigreeFunction')
plt.ylabel('BMI')

# Show the plot
plt.show()

Output :

b. 3D Scatter Plot

Contoh : 

import seaborn as sns
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# Assign axis values
x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
y = [5, 6, 2, 3, 13, 4, 1, 2, 4, 8]
z = [2, 3, 3, 3, 5, 7, 9, 11, 9, 10]

# Adjust size of plot
sns.set(rc={'figure.figsize': (8, 7)})
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z, c='r', marker='o')

# Assign labels
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')

# Set equal aspect ratio for all axes
ax.set_box_aspect([1, 1, 1])

# Display illustration
plt.show()

Output :

3. Histogram

Histogram menampilkan hitungan data dan karena itu mirip dengan diagram batang. Histogram juga dapat memberi tahu seberapa dekat distribusi data dengan kurva normal. Saat bekerja dengan metode statistik, sangat penting memiliki data yang terdistribusi normal atau mendekati distribusi normal. Namun, histogram bersifat univariat dan diagram batang bivariat.

Diagram batang memetakan hitungan aktual terhadap kategori, misalnya tinggi batang menunjukkan jumlah item dalam kategori tersebut, sedangkan histogram menampilkan variabel kategoris yang sama dalam bin.

Bin adalah bagian integral saat membangun histogram yang mengontrol titik-titik data yang berada dalam suatu rentang. Sebagai pilihan yang umum diterima, kita biasanya membatasi bin dengan ukuran 5-20, namun hal ini sepenuhnya dikendalikan oleh titik-titik data yang ada.

Contoh : 

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd  # Import pandas or use your dataset

# Sample data (replace this with your actual dataset)
diabetes = pd.read_csv("diabetes.csv")

# Features for the histogram
features = ['BloodPressure', 'SkinThickness']

# Set the style for the plot
sns.set(style="whitegrid")

# Create a figure with subplots
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(12, 5))

# Plot histograms for each feature
for i, feature in enumerate(features):
    sns.histplot(data=diabetes, x=feature, kde=True, ax=axes[i], color='blue')
    axes[i].set_title(f'Histogram of {feature}')

# Adjust layout
plt.tight_layout()

# Show the plot
plt.show()

Output :

4. Plot Hitungan (Countplot)

Countplot adalah plot antara variabel kategoris dan variabel kontinu. Variabel kontinu dalam hal ini adalah jumlah kali variabel kategoris tersebut hadir atau hanya frekuensinya. Secara konsep, count plot dapat dikatakan erat kaitannya dengan histogram atau diagram batang.

Sintaks :

seaborn.countplot(x=None, y=None, hue=None, data=None, order=None, hue_order=None, orient=None, color=None, palette=None, saturation=0.75, dodge=True, ax=None, **kwargs)

Parameter : Metode ini menerima parameter berikut yang dijelaskan di bawah ini:

  • x, y: Parameter ini mengambil nama variabel dalam data atau data vektor, opsional, Input untuk memplot data format panjang.
  • hue: (opsional) Parameter ini mengambil nama kolom untuk encoding warna.
  • data: (opsional) Parameter ini mengambil DataFrame, array, atau daftar array, Dataset untuk memplot. Jika x dan y tidak ada, ini diinterpretasikan sebagai format lebar. Jika tidak diharapkan menjadi format panjang.
  • order, hue_order: (opsional) Parameter ini mengambil daftar string. Urutan untuk memplot tingkatan kategoris, jika tidak tingkatan diambil dari objek data.
  • orient: (opsional) Parameter ini mengambil "v" | "h", Orientasi plot (vertikal atau horizontal). Ini biasanya disimpulkan dari dtype dari variabel input tetapi dapat digunakan untuk menentukan saat variabel "kategoris" adalah numerik atau saat memplot data format lebar.
  • color: (opsional) Parameter ini mengambil warna matplotlib, Warna untuk semua elemen, atau seed untuk palet gradien.
  • palet: (opsional) Parameter ini mengambil nama palet, daftar, atau kamus, Warna yang digunakan untuk tingkatan berbeda dari variabel hue. Harus sesuatu yang dapat diinterpretasikan oleh color_palette(), atau kamus pemetaan tingkatan hue ke warna matplotlib.
  • saturation: (opsional) Parameter ini mengambil nilai float, Proporsi saturasi asli untuk menarik warna. Patches besar sering terlihat lebih baik dengan warna sedikit desaturasi, tetapi atur ini menjadi 1 jika Anda ingin warna plot sempurna cocok dengan spesifikasi warna input.
  • dodge: (opsional) Parameter ini mengambil nilai bool, Ketika nesting hue digunakan, apakah elemen harus digeser sepanjang sumbu kategoris.
  • ax: (opsional) Parameter ini mengambil matplotlib Axes, Objek Axes untuk menggambar plot, jika tidak menggunakan Axes saat ini.
  • kwargs: Parameter ini mengambil pemetaan kunci, nilai, Argumen kata kunci lainnya yang dilewatkan ke matplotlib.axes.Axes.bar().

Hasil/Pengembalian : Mengembalikan objek Axes dengan plot yang digambar di atasnya.

Countplot hanya menunjukkan jumlah kemunculan suatu item berdasarkan jenis kategori tertentu. Dalam bahasa Python, kita dapat membuat count plot menggunakan pustaka seaborn. Seaborn adalah modul dalam Python yang dibangun di atas matplotlib dan digunakan untuk plot statistik yang menarik secara visual.

Contoh : 

import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd  # Import pandas or use your dataset

# Sample data (replace this with your actual dataset)
diabetes = pd.read_csv("diabetes.csv")

# Set the style for the plot
sns.set(style="whitegrid")

# Create a figure with subplots
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(12, 4))

# Illustrate count plots
sns.countplot(x='Outcome', data=diabetes, ax=axes[0], palette="pastel")
axes[0].set_title('Count Plot of Outcome')

sns.countplot(x='BloodPressure', data=diabetes, ax=axes[1], palette="pastel")
axes[1].set_title('Count Plot of BloodPressure')

# Adjust layout
plt.tight_layout()

# Show the plot
plt.show()

Output :

5. Plot Korelasi

Plot korelasi adalah analisis multivariat yang sangat berguna untuk melihat hubungan antar titik data. Scatter plot membantu memahami pengaruh satu variabel terhadap variabel lainnya. Korelasi dapat didefinisikan sebagai pengaruh yang satu variabel berikan terhadap variabel lainnya.

Korelasi dapat dihitung antara dua variabel atau dapat pula merupakan korelasi satu terhadap banyak, seperti yang dapat kita lihat pada plot di bawah ini. Korelasi dapat bersifat positif, negatif, atau netral, dan rentang matematis dari korelasi adalah dari -1 hingga 1. Memahami korelasi dapat memiliki pengaruh yang sangat signifikan pada tahap pembangunan model dan juga pemahaman terhadap keluaran model.

Contoh : 

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

# Fetch the Boston Housing dataset from the original source
data_url = "http://lib.stat.cmu.edu/datasets/boston"
raw_df = pd.read_csv(data_url, sep="\s+", skiprows=22, header=None)
data = np.hstack([raw_df.values[::2, :], raw_df.values[1::2, :2]])
target = raw_df.values[1::2, 2]

# Create a DataFrame with the fetched data
boston_df = pd.DataFrame(data, columns=["CRIM", "ZN", "INDUS", "CHAS", "NOX", "RM", "AGE", "DIS", "RAD", "TAX", "PTRATIO", "B", "LSTAT"])
boston_df["MEDV"] = target  # Adding the target variable (median value of owner-occupied homes)

# Set the style for the plot
sns.set(style="white")

# Adjust plot size
plt.figure(figsize=(14, 10))

# Illustrate a heatmap of the correlation matrix
sns.heatmap(boston_df.corr(), cmap=sns.cubehelix_palette(20, light=0.95, dark=0.15), annot=True)

# Set plot title
plt.title('Correlation Matrix Heatmap')

# Show the plot
plt.show()

Output :

6. Peta Panas (Heat Maps)

Heatmap adalah representasi data multivariat. Intensitas warna dalam heatmap menjadi faktor penting untuk memahami pengaruh titik data. Heatmap lebih mudah dipahami dan lebih mudah dijelaskan. Ketika datang ke analisis data menggunakan visualisasi, sangat penting bahwa pesan yang diinginkan tersampaikan dengan bantuan plot.

Sintaks :

seaborn.heatmap(data, *, vmin=None, vmax=None, cmap=None, center=None, robust=False, annot=None, fmt=’.2g’, annot_kws=None, linewidths=0, linecolor=’white’, cbar=True, cbar_kws=None, cbar_ax=None, square=False, xticklabels=’auto’, yticklabels=’auto’, mask=None, ax=None, **kwargs)

Parameter: Metode ini menerima parameter-parameter berikut yang dijelaskan di bawah ini :

  • x, y: Parameter ini mengambil nama variabel dalam data atau data vektor, opsional, Input untuk plotting data bentuk panjang.
  • hue: (opsional) Parameter ini mengambil nama kolom untuk pengkodean warna.
  • data: (opsional) Parameter ini mengambil DataFrame, array, atau daftar array, Dataset untuk plotting. Jika x dan y tidak ada, ini diinterpretasikan sebagai bentuk lebar. Jika tidak, diharapkan untuk menjadi bentuk panjang.
  • color: (opsional) Parameter ini mengambil warna matplotlib, Warna untuk semua elemen, atau seed untuk palet gradien.
  • palette: (opsional) Parameter ini mengambil nama palet, daftar, atau kamus, Warna untuk digunakan pada tingkat yang berbeda dari variabel hue. Harus sesuatu yang dapat diinterpretasikan oleh color_palette(), atau kamus pemetaan tingkat hue ke warna matplotlib.
  • ax: (opsional) Parameter ini mengambil matplotlib Axes, Objek Axes untuk menggambar plot, jika tidak menggunakan Axes saat ini.
  • kwargs: Parameter ini mengambil pemetaan kunci, nilai, Argumen kata kunci lainnya yang diteruskan ke matplotlib.axes.Axes.bar().

Mengembalikan : Mengembalikan objek Axes dengan plot yang digambar padanya.

Contoh : 

# import required module
import seaborn as sns
import numpy as np
 
# assign data
data = np.random.randn(50, 20)
 
# illustrate heat map
ax = sns.heatmap(data, xticklabels=2, yticklabels=False)

Output :

7. Pie Chart (Diagram Lingkaran)

Diagram lingkaran adalah analisis univariat dan umumnya digunakan untuk menunjukkan data persentase atau proporsional. Distribusi persentase dari setiap kelas dalam suatu variabel diberikan di sebelah irisan lingkaran yang sesuai. Perpustakaan Python yang dapat digunakan untuk membuat diagram lingkaran adalah matplotlib dan seaborn.

Sintaks :

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

  • data : Mewakili larik nilai data yang akan diplot, area fraksional setiap irisan diwakili oleh data/sum(data). Jika sum(data)<1, maka nilai data mengembalikan area fraksional secara langsung, sehingga hasil diagram lingkaran akan memiliki irisan kosong sebesar 1-sum(data).
  • labels : Adalah daftar urutan string yang menetapkan label setiap irisan.
  • color : Atribut digunakan untuk memberikan warna pada irisan-irisan.
  • autopct : Adalah string yang digunakan untuk memberi label irisan dengan nilai numerik mereka.
  • shadow : Digunakan untuk membuat bayangan irisan.

Berikut adalah keuntungan dari Diagram Lingkaran :

  • Ringkasan visual yang lebih mudah dari data berjumlah besar
  • Efek dan ukuran kelas yang berbeda dapat dengan mudah dipahami
  • Persentase digunakan untuk mewakili kelas-kelas dalam titik data

Contoh : 

import matplotlib.pyplot as plt
import seaborn as sns

# Creating dataset
cars = ['AUDI', 'BMW', 'FORD', 'TESLA', 'JAGUAR', 'MERCEDES']
data = [23, 17, 35, 29, 12, 41]

# Set Seaborn style
sns.set(style="whitegrid")

# Creating plot using Seaborn
fig, ax = plt.subplots(figsize=(10, 7))
ax.pie(data, labels=cars, autopct='%1.1f%%', startangle=90, colors=sns.color_palette('pastel'), wedgeprops=dict(width=0.4))

# Set plot title
plt.title('Car Distribution')

# Show plot
plt.show()

Output :

Contoh : 

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

# Creating dataset
cars = ['AUDI', 'BMW', 'FORD', 'TESLA', 'JAGUAR', 'MERCEDES']
data = [23, 17, 35, 29, 12, 41]

# Creating explode data
explode = (0.1, 0.0, 0.2, 0.3, 0.0, 0.0)

# Creating color parameters
colors = ("orange", "cyan", "brown", "grey", "indigo", "beige")

# Wedge properties
wp = {'linewidth': 1, 'edgecolor': "green"}

# Creating autocpt arguments
def func(pct, allvalues):
    absolute = int(pct / 100.*np.sum(allvalues))
    return "{:.1f}%\n({:d} g)".format(pct, absolute)

# Set Seaborn style
sns.set(style="whitegrid")

# Creating plot using Matplotlib
fig, ax = plt.subplots(figsize=(10, 7))
wedges, texts, autotexts = ax.pie(data, autopct=lambda pct: func(pct, data), explode=explode, labels=cars,
                                  shadow=True, colors=colors, startangle=90, wedgeprops=wp,
                                  textprops=dict(color="magenta"))

# Adding legend
ax.legend(wedges, cars, title="Cars", loc="center left",
          bbox_to_anchor=(1, 0, 0.5, 1))
plt.setp(autotexts, size=8, weight="bold")
ax.set_title("Customizing pie chart")

# Show plot
plt.show()

Output :

8. Bar Kesalahan (Error Bars)

Bar Kesalahan dapat didefinisikan sebagai garis melalui suatu titik pada grafik, sejajar dengan salah satu sumbu, yang mewakili ketidakpastian atau kesalahan dari koordinat yang sesuai dengan titik tersebut. Jenis plot ini sangat berguna untuk memahami dan menganalisis penyimpangan dari target. Setelah kesalahan diidentifikasi, ini dapat dengan mudah mengarah pada analisis lebih mendalam tentang faktor-faktor yang menyebabkannya.

  • Penyimpangan dari titik data terhadap ambang batas dapat dengan mudah ditangkap.
  • Dengan mudah menangkap penyimpangan dari sekumpulan data yang lebih besar.
  • Ini menentukan data yang mendasarinya.

Contoh : 

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np

# Assign axes
x = np.linspace(0, 5.5, 10)
y = 10 * np.exp(-x)

# Assign errors regarding each axis
xerr = np.random.random_sample(10)
yerr = np.random.random_sample(10)

# Set Seaborn style
sns.set(style="whitegrid")

# Adjust plot
fig, ax = plt.subplots()
sns.lineplot(x=x, y=y, ax=ax, marker='o', label='Line Plot')
ax.errorbar(x, y, xerr=xerr, yerr=yerr, fmt='none', ecolor='red', capsize=5, label='Error Bars')

# Assign labels and title
ax.set_xlabel('x-axis')
ax.set_ylabel('y-axis')
ax.set_title('Line plot with Seaborn Error Bars')

# Show legend
ax.legend()

# Show plot
plt.show()

Output :



Jika ingin melihat Artikel sebelumnya tentang Jenis-jenis Visualisasi Data menggunakan Python Matplotlib, silakan lihat di sini.

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.

Terima Kasih 😄😘👌👍 :)

Wassalamu‘alaikum wr. wb.

Post a Comment

Previous Post Next Post