Cara menggunakan MARKERS pada Python

Cara menggunakan MARKERS pada Python

Photo by Chris Liverani on Unsplash

Halloo kembali lagi bersama saya!! kali ini saya akan menjelaskan bagaimana membuat Chart yang simple tapi juga menarik menggunakan Python Languange. penasaran kan yukk langsung saja…

Dataset yang digunakan

untuk dataset yang digunakan adalah dari US Superstore Data

untuk detail data yang saya gunakan adalah sebagai berikut :

  • Order ID — ID created when a product order is placed.
  • Order Date — Date on which a customer places his/her order.
  • Customer ID — ID assigned to each customer who places an order.
  • Segment — Section from where the order is placed.
  • Category — Category to which each product belongs to.
  • Sub-Category— Sub-Category of each Category
  • Sales — Selling Price of each product.
  • Quantity — number of quantity available for a particular product.
  • Profit— Profit gained on each product.

Library yang di gunakan

  1. Plotly

plotly adalah packages yang memudahkan menerjemahkan grafik ‘ggplot2’ ke versi interaktif berbasis web dan/atau membuat visualisasi berbasis web langsung dari Python. Setelah diunggah ke akun ‘plotly’, grafik ‘plotly (dan data dibelakangnya) dapat diliat dan dimodifikasi di browser web

2. Pandas

Pandas (Python for Data Analysis) adalah library Python yang fokus untuk proses analisis data seperti manipulasi data, persiapan data, dan pembersihan data. Pandas juga dapat membaca file dari berbagai format seperti .txt, .csv, .tsv, dan lainnya. Anggap saja Pandas adalah spreadsheet namun tidak memiliki GUI dan punya fitur seperti SQL.

3. Numpy

Numpy memiliki kegunaan untuk operasi vektor dan matriks. Fiturnya hampir sama dengan MATLAB dalam mengelola array dan array multidimensi. Numpy merupakan salah satu library yang digunakan oleh library lain seperti Scikit-Learn untuk keperluan analisis data.

4. Scipy

Kegunaanya adalah untuk menangani operasi aljabar dan matriks serta operasi matematika lainya. Disini kamu dapat menangani sejumlah operasi matematika yang lebih kompleks daripada menggunakan library math bawaan Python.

Import Library dan Dataset

import plotly
import pandas as pd
import plotly.graph_objs as go
#karena saya disini menggunakan Jupyter Notebook
from plotly.offline import download_plotlyjs, init_notebook_mode, plot,iplot
init_notebook_mode(connected=True)

notes : saya menamakan pandas as pd dan plotly.graph_objs as go

Membaca Dataset

disini saya hanya mengambil berupa head() agar tidak terlalu panjang dan df sebagai nama tabel

df = pd.read_csv('Assessment R & Python_ Dataset_superstore_simple.csv',parse_dates=['order_date'])
df.head()

Berikut hasilnya :

Cara menggunakan MARKERS pada Python

output

Membuat Scatter Plot

untuk memanggil Scatter Plot menggunakan go.scatter lalu masukan variabel X dan Y dari tabel df, setelah itu masukan parameter mode menggunakan tipe ‘markers’ dan saya beri nama tabel ‘Sales VS Profit’

tabel = go.Scatter(
x=df.sales,
y=df.profit,
mode='markers',
name='Sales VS Profit'
)
fig = go.Figure(data=tabel)
iplot(fig)

jangan lupa untuk membuat sebuah objek Figure yang kita beri parameter data berisikan tabel, dan untuk menampilkan pada jupyter menggunakan iplot

Berikut hasilnya :

Cara menggunakan MARKERS pada Python

Output
  • Scatter Plot yang memiliki warna

pertama kita buat dataframe terlebih dahulu, untuk itu kita harus import Library Numpy, dan membuat kolom baru ‘warna’ berdasarkan ‘profit’ pada fungsi where(), warna hijau dengan profit ≥0 dan warna merah <0

import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()

hasilnya :

Cara menggunakan MARKERS pada Python

output

selanjutya kita menambahkan parameter ‘marker’ dengan warna yang sudah tersedia pada kolom marker_color

tabel = go.Scatter(
x=df.sales,
y=df.profit,
mode='markers',
marker={
'color':df.marker_color
},
name='Sales VS Profit'
)
fig = go.Figure(data=tabel)
iplot(fig)

hasilnya :

Cara menggunakan MARKERS pada Python

Membuat Pie Chart

untuk membuat Pie Chart terdapat parameter ‘labels’ dan ‘values’

data = go.Pie(labels=df.category,values=df.sales)
fig = go.Figure(data=data)
iplot(fig)

hasilnya :

Cara menggunakan MARKERS pada Python

Membuat Histogram

untuk membuat Histogram menggunakan perintahgo.Histogram dengan menggunakan satu parameter saja, selain itu ukuran bar dapat diatur menggunakan xbins

histogram = go.Histogram(x=df.sales,
xbins={
'size':500
})
fig = go.Figure(data=histogram)
iplot(fig)

hasilnya :

Cara menggunakan MARKERS pada Python

Membuat Bar Chart

pertama kita buat dataframe terlebih dahulu, dalam membuat Bar Chart digunakan parameter groupby dan aggregate pada tabel

df_segment = df.groupby(['segment']).agg({
'sales':'sum'
})
df_segment = df_segment.reset_index()
df_segment.head()

hasilnya :

Cara menggunakan MARKERS pada Python

selanjutnya dalam membuat Bar Chart menggunakan perintah go.Bar()dengan variabel X dan Y

bar_chart = go.Bar(
x=df_segment.segment,
y=df_segment.sales)
fig = go.Figure(data=bar_chart)
iplot(fig)

hasilnya :

Cara menggunakan MARKERS pada Python

  • Group Bar Chart

pertama kita buat dataframe terlebih dahulu, untuk Group Bar Chart dalam parameter groupby memiliki dua variabel yang dibandingkan

df_segment_category = df.groupby(['segment','category']).agg({
'sales':'sum'
})
df_segment_category=df_segment_category.reset_index()
df_segment_category.head()

hasilnya :

Cara menggunakan MARKERS pada Python

untuk itu kita bagi jumlah Bar berdasarkan masing-masing Segment, antara lain Corporate, Consumer, dan Home Office

hasilnya :

Cara menggunakan MARKERS pada Python

  • Stacked Bar Chart

selanjutnya untuk Stacked Bar Chart yakni ditambahkan ‘layout’ {‘barmode’:’stack’}

data = [bar1,bar2,bar3]
layout = {'barmode':'stack'}
fig = go.Figure(data=data,layout=layout)
iplot(fig)

hasilnya :

Cara menggunakan MARKERS pada Python

Membuat Line Chart

pertama kita buat dataframe terlebih dahulu dan buat kolom baru bernama ‘month’, karena order_date barupa string maka kita ubah dulu berdasarkan datetime. karena Line Chart membutuhkan variabel waktu

df['month'] = df.order_date.dt.strftime('%Y-%m-01') atau ('%Y-%m')
df.head()

Cara menggunakan MARKERS pada Python

selanjutnya :

#hanya menampilkan kolom month dan sales
df_monthly_sales = df.groupby(['month']).agg({'sales':'sum'})
df_monthly_sales = df_monthly_sales.reset_index()
df_monthly_sales.head()

Cara menggunakan MARKERS pada Python

untuk memunculkan Line Chart kita menggunakan perintah go.Scatter dan gunakan parameter mode=’lines+markers’)

data_line = go.Scatter(
x=df_monthly_sales.month,
y=df_monthly_sales.sales,
mode='lines+markers')
fig = go.Figure(data=data_line)
iplot(fig)

hasilnya :

Cara menggunakan MARKERS pada Python

  • Membuat Line Chart berdasarkan Category

kita tambahkan kolom Category di dalam dataframe sebelumnya

df_monthly_sales_category = df.groupby(['month','category']).agg({
'sales':'sum'
})
df_monthly_sales_category = df_monthly_sales_category.reset_index()
df_monthly_sales_category.head()

Cara menggunakan MARKERS pada Python

selanjutnya gunakan pivot untuk memindahkan category menjadi kolom yang terdiri dari variabel index, columns, dan values. agar dataset terlihat simple dan rapi

df_monthly_sales_category = df_monthly_sales_category.pivot(
index='month',
columns='category',
values='sales'
)
df_monthly_sales_category.head()

Cara menggunakan MARKERS pada Python

setelah itu untuk munculkan Line Chart menggunakan perintah go.Scatter berdasarkan 3 jenis Category antara lain Furniture, Office Supplies, dan Technology. dengan parameter mode=’lines+markers’ dan marker={‘symbol’:’diamond’} untuk marker bisa di variasikan sesuai selera serta untuk pembeda antara line1 dengan lainnya

hasilnya :

Cara menggunakan MARKERS pada Python

Membuat Advanced Scatter Plot

terlebih dahulu membuat Grafik Scatter Plot menggunakan go.scatter lalu masukan variabel X dan Y dari tabel df, setelah itu masukan parameter mode menggunakan tipe ‘markers’

data1 = go.Scatter(
x=df.sales,
y=df.profit,
mode='markers'
)
fig = go.Figure(data=data1)
iplot(fig)

hasilnya :

Cara menggunakan MARKERS pada Python

  • Membuat Trend Line

untuk membuat Trend Line diperlukan Library Scipy dan menggunakan kode pada Array

from scipy import statsslope,intercept,r_value,p_value,std_err=stats.linregress(x=df.sales,y=df.profit)
lines = slope*df.sales.values+intercept
lines
#output
array([ 33.71785945, 111.39726896, -7.1630826 , ..., 33.1585439 ,
-4.68715266, 30.61055085])

disini saya menggunakan ‘dot’ untuk menampilkan Scatter Plot dan ‘line’ untuk menampilkan garis/line dengan variabel Y=Lines

dot = go.Scatter(
x=df.sales,
y=df.profit,
mode='markers'
)
line = go.Scatter(
x=df.sales,
y=lines,
name='Linear Trend Line'
)
fe=[dot,line]
fig = go.Figure(data=fe)
iplot(fig)

hasilnya :

Cara menggunakan MARKERS pada Python

di dalam query terdapat 3 data yaitu data1, data2, dan data3 karena disini saya akan membagi data berdasarkan Category Furniture, Office Supplies, dan Technology. dengan variabel X =‘sales’ dan Y = ‘profit’. selain itu ukuran marker dapat diatur menggunakan fungsi 'size' . selain itu pada Lines saya menggunakan tipe garis putus-putus (dash)

sedangkan untuk layout saya memberi judul Sales VS Profit pada fungsi ‘title’ dan ‘text’ dengan posisi 0.5 (ditengah), selain itu untuk menampilkan judul variabel X dan Y menggunakan‘xaxis’ dan ‘yaxis’dengan range berdasarkan masing-masing value variabel. selanjutnya untuk Legend menggunakan orientation Horizontal/h, dengan X=0.5, Y=1,'xanchor’:’center' agar posisi berada di tengah atas.

hasilnya :

Cara menggunakan MARKERS pada Python

Akhirnya selesai juga teman!! nah menarik bukan. terus simak yaa jangan bosan-bosan belajar :) semoga bermanfaat yaa…