Cara menggunakan python seek to line

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 :

  • df = pd.read_csv('Assessment R & Python_ Dataset_superstore_simple.csv',parse_dates=['order_date'])
    df.head()
    9— ID created when a product order is placed.
  • tabel = go.Scatter(
    x=df.sales,
    y=df.profit,
    mode='markers',
    name='Sales VS Profit'
    )
    fig = go.Figure(data=tabel)
    iplot(fig)
    0 — Date on which a customer places his/her order.
  • tabel = go.Scatter(
    x=df.sales,
    y=df.profit,
    mode='markers',
    name='Sales VS Profit'
    )
    fig = go.Figure(data=tabel)
    iplot(fig)
    1 — ID assigned to each customer who places an order.
  • tabel = go.Scatter(
    x=df.sales,
    y=df.profit,
    mode='markers',
    name='Sales VS Profit'
    )
    fig = go.Figure(data=tabel)
    iplot(fig)
    2 — Section from where the order is placed.
  • tabel = go.Scatter(
    x=df.sales,
    y=df.profit,
    mode='markers',
    name='Sales VS Profit'
    )
    fig = go.Figure(data=tabel)
    iplot(fig)
    3— Category to which each product belongs to.
  • tabel = go.Scatter(
    x=df.sales,
    y=df.profit,
    mode='markers',
    name='Sales VS Profit'
    )
    fig = go.Figure(data=tabel)
    iplot(fig)
    4— Sub-Category of each Category
  • tabel = go.Scatter(
    x=df.sales,
    y=df.profit,
    mode='markers',
    name='Sales VS Profit'
    )
    fig = go.Figure(data=tabel)
    iplot(fig)
    5— Selling Price of each product.
  • tabel = go.Scatter(
    x=df.sales,
    y=df.profit,
    mode='markers',
    name='Sales VS Profit'
    )
    fig = go.Figure(data=tabel)
    iplot(fig)
    6 — number of quantity available for a particular product.
  • tabel = go.Scatter(
    x=df.sales,
    y=df.profit,
    mode='markers',
    name='Sales VS Profit'
    )
    fig = go.Figure(data=tabel)
    iplot(fig)
    7— 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

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

Membaca Dataset

disini saya hanya mengambil berupa

import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()
0 agar tidak terlalu panjang dan
import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()
1sebagai nama tabel

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

Berikut hasilnya :

outputMembuat Scatter Plot

untuk memanggil Scatter Plot menggunakan

import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()
2 lalu masukan variabel
import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()
3dan
import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()
4dari tabel
import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()
1, setelah itu masukan parameter
import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()
6menggunakan 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

import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()
7 yang kita beri parameter
import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()
8 berisikan
import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()
9, dan untuk menampilkan pada jupyter menggunakan
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)
0

Berikut hasilnya :

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

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)
1, 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 :

output

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

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)
2

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 :

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 :

Membuat Histogram

untuk membuat Histogram menggunakan perintah

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)
3 dengan menggunakan satu parameter saja, selain itu ukuran bar dapat diatur menggunakan
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)
4

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

hasilnya :

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 :

selanjutnya dalam membuat Bar Chart menggunakan perintah

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)
5dengan 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 :

  • 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 :

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

hasilnya :

  • Stacked Bar Chart

selanjutnya untuk Stacked Bar Chart yakni ditambahkan ‘layout’

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)
6

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

hasilnya :

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 = pd.read_csv('Assessment R & Python_ Dataset_superstore_simple.csv',parse_dates=['order_date'])
df.head()
1

selanjutnya :

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

untuk memunculkan Line Chart kita menggunakan perintah

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)
7 dan gunakan parameter
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)
8

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

hasilnya :

  • Membuat Line Chart berdasarkan Category

kita tambahkan kolom Category di dalam dataframe sebelumnya

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

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

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

setelah itu untuk munculkan Line Chart menggunakan perintah

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)
9 berdasarkan 3 jenis Category antara lain Furniture, Office Supplies, dan Technology. dengan parameter
data = go.Pie(labels=df.category,values=df.sales)
fig = go.Figure(data=data)
iplot(fig)
0 dan
data = go.Pie(labels=df.category,values=df.sales)
fig = go.Figure(data=data)
iplot(fig)
1 untuk marker bisa di variasikan sesuai selera serta untuk pembeda antara line1 dengan lainnya

hasilnya :

Membuat Advanced Scatter Plot

terlebih dahulu membuat Grafik Scatter Plot menggunakan

import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()
2 lalu masukan variabel
import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()
3dan
import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()
4dari tabel
import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()
1, setelah itu masukan parameter
import numpy as np
df['marker_color'] = np.where(
df.profit >=0,
'green',
'red',
)
df.head()
6menggunakan tipe ‘markers’

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

hasilnya :

  • Membuat Trend Line

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

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

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

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

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

hasilnya :

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

data = go.Pie(labels=df.category,values=df.sales)
fig = go.Figure(data=data)
iplot(fig)
8 . selain itu pada Lines saya menggunakan tipe garis putus-putus
data = go.Pie(labels=df.category,values=df.sales)
fig = go.Figure(data=data)
iplot(fig)
9

sedangkan untuk layout saya memberi judul Sales VS Profit pada fungsi

histogram = go.Histogram(x=df.sales,
xbins={
'size':500
})
fig = go.Figure(data=histogram)
iplot(fig)
0 dan
histogram = go.Histogram(x=df.sales,
xbins={
'size':500
})
fig = go.Figure(data=histogram)
iplot(fig)
1 dengan posisi 0.5 (ditengah), selain itu untuk menampilkan judul variabel X dan Y menggunakan
histogram = go.Histogram(x=df.sales,
xbins={
'size':500
})
fig = go.Figure(data=histogram)
iplot(fig)
2 dan
histogram = go.Histogram(x=df.sales,
xbins={
'size':500
})
fig = go.Figure(data=histogram)
iplot(fig)
3dengan range berdasarkan masing-masing value variabel. selanjutnya untuk Legend menggunakan
histogram = go.Histogram(x=df.sales,
xbins={
'size':500
})
fig = go.Figure(data=histogram)
iplot(fig)
4 Horizontal/h, dengan
histogram = go.Histogram(x=df.sales,
xbins={
'size':500
})
fig = go.Figure(data=histogram)
iplot(fig)
5 agar posisi berada di tengah atas.

hasilnya :

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