demo / streamlit1.py
fuad-haging's picture
Upload 2 files
54281e5 verified
raw
history blame contribute delete
No virus
4.94 kB
# Mebgimpor library
import streamlit as st
# Membuat judul
st.title('Tampilan Aplikasi Saya')
import urllib.request
from PIL import Image
# Mengambil gambar (dari link url)
urllib.request.urlretrieve('https://www.megabagus.id/wp-content/uploads/2024/07/data-science.jpg',
"gambar.jpg")
# Menambah subheader
st.subheader('Selamat datang di Data Science Deployment')
image = Image.open('gambar.jpg')
st.image(image, use_column_width=True)
# Menulis text (ukuran kecil)
st.write('menulis sebuah teks di sini')
# Membuat markdown
st.markdown('Ini adalah markdown cell seperti di jupyter notebook')
# Membuat keterangan sukses
st.success('Selamat Anda berhasil')
# Memberikan informasi
st.info('Ini adalah informasi untukmu')
# Memunculkan warning
st.warning('Ini adalah warning')
# Memunculkan error
st.error('Ini keterangan error')
# Memunculkan keterangan help
st.help(range)
st.text('---'*100)
# Mengimpor library
import numpy as np
import pandas as pd
datanp = np.random.rand(10,20)
# Memunculkan dataframe dari datanp
st.text('Berikut adalah dataframe dari Numpy')
st.dataframe(datanp)
st.text('---'*100)
# Memunculkan dataframe dari dataframe Pandas
df = pd.DataFrame(np.random.rand(10,20), columns=['col ' + str(i) for i in range(20)])
st.text('Berikut adalah dataframe dari Pandas')
st.dataframe(df.style.highlight_max(axis=1))
st.text('---'*100)
# Menampilkan grafik
st.text('Tampilan grafik')
grafik = pd.DataFrame(np.random.randn(20,3), columns=['a', 'b', 'c'])
st.line_chart(grafik)
st.text('---'*100)
# Menampilkan area chart
st.text('Tampilan Area Chart')
st.area_chart(grafik)
st.text('---'*100)
# Menampilkan bar chart
st.text('Tampilan Bar Chart')
grafik2 = pd.DataFrame(np.random.randn(50,3), columns=['a', 'b', 'c'])
st.bar_chart(grafik2)
st.text('---'*100)
# Menampilkan plot dari matplotlib
import matplotlib.pyplot as plt
arr = np.random.normal(1,1,size=100)
plt.hist(arr, bins=20)
st.set_option('deprecation.showPyplotGlobalUse', False) # untuk menghilangkan warning
st.pyplot()
st.text('---'*100)
# Menampilkan plot dari plotly
import plotly
import plotly.figure_factory as ff
# menambah Distribution Plot
x1 = np.random.randn(200) - 2
x2 = np.random.randn(200)
x3 = np.random.randn(200) + 2
hist_data = [x1,x2,x3]
group_labels = ['Group1', 'Group2', 'Group3']
st.text('Tampilan grafik Plotly (bisa diatur secara live)')
fig = ff.create_distplot(hist_data, group_labels, bin_size=[.2, .25, .5])
st.plotly_chart(fig, use_container_width=True)
st.text('---'*100)
# Menampilkan peta
df2 = pd.DataFrame(np.random.randn(100,2)/[50,50]+[10.76,47.4], columns=['lat', 'lon'])
st.map(df2)
st.text('---'*100)
# Menambah tombol
if st.button('Pencet Halo'):
st.write('Anda sudah berhasil pencet tombol Halo')
else:
st.write('Anda belum menekan Halo, silakan pencet tombol di atas')
st.text('---'*100)
# Menambah radio
hobi = st.radio('Apa hobimu?', ('membaca', 'nonton film', 'tidur'))
if hobi=='membaca':
st.write('Ternyata kamu suka membaca ya')
elif hobi=='nonton film':
st.write('Suka nonton film juga ternyata')
else:
st.write('pasti kamu sukanya tidur')
st.text('---'*100)
# Membuat tombol pilihan
pilih = st.selectbox('Bagaimana meeting tadi malam', ('semua lancar', 'agak nervous', 'tidak jelas'))
st.write('Jawaban : ',pilih)
st.text('---'*100)
# Membuat tombol pilihan (multiple choice)
pilih = st.multiselect('Bagaimana meeting tadi malam (bisa pilih lebih dari satu)', ('semua lancar', 'agak nervous', 'tidak jelas'))
st.write('Jawaban : ',pilih)
st.text('---'*100)
# Menambah slider
usia = st.slider('Berapa usiamu?', 0,100,30) #(min, max, default)
st.write('Usia = ', usia)
st.text('---'*100)
# Membuat slider dengan range
nilai = st.slider('Masukkan nilai', 0,200,(15,80)) #(min, max, default)
st.write('Nilai = ', nilai)
st.text('---'*100)
# Memasukkan nilai
angka = st.number_input('Masukkan angka',min_value=0.0, step=0.0)
st.write('Nilai Anda = ', angka)
st.text('---'*100)
# Mengupload file
upload_file = st.file_uploader('Pilih file csv', type='csv')
if upload_file is not None:
data = pd.read_csv(upload_file)
st.write(data)
st.success('File berhasil diupload')
else:
#st.error('File yang diupload kosong, silakan pilih file yang valid')
st.markdown('File yang diupload kosong, silakan pilih file yang valid')
st.text('---'*100)
# Memilih warna
warna = st.color_picker('Pilih warna :','#00f900')
st.write('Warna pilihan Anda = ', warna)
st.text('---'*100)
# Menambah sidebar
add_sidebar = st.sidebar.selectbox('Choose your analysis', ('EDA', 'model', 'prediction'))
# Memberikan progress bar
import time
with st.spinner('please wait...'):
time.sleep(5)
st.success('All files have been successfully processed')