| import streamlit as st |
| import numpy as np |
| import plotly.express as px |
| import pandas as pd |
| import plotly.graph_objects as go |
|
|
| st.set_page_config(page_title="Plotly Graphing Libraries",layout='wide') |
|
|
| uploaded_files = st.file_uploader("Choose a CSV file", accept_multiple_files=True) |
| for uploaded_file in uploaded_files: |
| bytes_data = uploaded_file.read() |
| st.write("filename:", uploaded_file.name) |
| st.write(bytes_data) |
| |
| if st.checkbox("FileDetails"): |
|
|
| filevalue = uploaded_file.getvalue() |
| st.write(filevalue) |
| st.write(uploaded_file.name) |
| st.write(uploaded_file.type) |
| st.write(uploaded_file.size) |
| |
| |
| st.write(uploaded_file.getbuffer()) |
| st.write(uploaded_file.getbuffer().nbytes) |
| st.write(uploaded_file.getbuffer().tobytes()) |
| st.write(uploaded_file.getbuffer().tolist()) |
| st.write(uploaded_file.getbuffer().itemsize) |
| st.write(uploaded_file.getbuffer().ndim) |
| st.write(uploaded_file.getbuffer().shape) |
| st.write(uploaded_file.getbuffer().strides) |
| st.write(uploaded_file.getbuffer().suboffsets) |
| st.write(uploaded_file.getbuffer().readonly) |
| st.write(uploaded_file.getbuffer().c_contiguous) |
| st.write(uploaded_file.getbuffer().f_contiguous) |
| st.write(uploaded_file.getbuffer().contiguous) |
| st.write(uploaded_file.getbuffer().itemsize) |
| st.write(uploaded_file.getbuffer().nbytes) |
| st.write(uploaded_file.getbuffer().ndim) |
| st.write(uploaded_file.getbuffer().shape) |
| st.write(uploaded_file.getbuffer().strides) |
| st.write(uploaded_file.getbuffer().suboffsets) |
| st.write(uploaded_file.getbuffer().readonly) |
| st.write(uploaded_file.getbuffer().c_contiguous) |
| st.write(uploaded_file.getbuffer().f_contiguous) |
| st.write(uploaded_file.getbuffer().contiguous) |
| st.write(uploaded_file.getbuffer().itemsize) |
| st.write(uploaded_file.getbuffer().nbytes) |
| st.write(uploaded_file.getbuffer().ndim) |
| st.write(uploaded_file.getbuffer().shape) |
| st.write(uploaded_file.getbuffer().strides) |
| st.write(uploaded_file.getbuffer().suboffsets) |
| st.write(uploaded_file.getbuffer().readonly) |
| st.write(uploaded_file.getbuffer().c_contiguous) |
| st.write(uploaded_file.getbuffer().f_contiguous) |
| myDF = pd.DataFrame(uploaded_file.getbuffer().tolist()) |
| |
|
|
| st.markdown("# Treemaps from upload data file: https://plotly.com/python/treemaps/") |
| |
| df = myDF |
| fig = px.treemap(df, path=[px.Constant("time"), 'message', 'name'], values='content', |
| color='lifeExp', hover_data=['iso_alpha'], |
| color_continuous_scale='RdBu', |
| color_continuous_midpoint=np.average(df['name'], weights=df['content'])) |
| fig.update_layout(margin = dict(t=50, l=25, r=25, b=25)) |
| |
| st.plotly_chart(fig, use_container_width=True) |
| |
| |
| if st.checkbox("replace"): |
| mydf = st.dataframe(df) |
| columns = st.selectbox("Select column", df.columns) |
| old_values = st.multiselect("Current Values",list(df[columns].unique()),list(df[columns].unique())) |
| with st.form(key='my_form'): |
| col1,col2 = st.beta_columns(2) |
| st_input = st.number_input if is_numeric_dtype(df[columns]) else st.text_input |
| with col1: |
| old_val = st_input("old value") |
| with col2: |
| new_val = st_input("new value") |
| if st.form_submit_button("Replace"): |
| df[columns]=df[columns].replace(old_val,new_val) |
| st.success("{} replace with {} successfully ".format(old_val,new_val)) |
| excel = df.to_excel(r"book2.xlsx", index = False, header=True,encoding="utf-8") |
| df =pd.read_excel(r"book2.xlsx") |
| mydf.add_rows(df) |
|
|
| |
|
|
| N = 1000000 |
| fig = go.Figure() |
| fig.add_trace( |
| go.Scattergl( |
| x = np.random.randn(N), |
| y = np.random.randn(N), |
| mode = 'markers', |
| marker = dict( |
| line = dict( |
| width = 1, |
| color = 'DarkSlateGrey') |
| ) |
| ) |
| ) |
| fig.show() |
| st.plotly_chart(fig, use_container_width=True) |
|
|
|
|
|
|
| st.markdown("# WebGL Graph - ScatterGL") |
| fig = go.Figure() |
| trace_num = 10 |
| point_num = 5000 |
| for i in range(trace_num): |
| fig.add_trace( |
| go.Scattergl( |
| x = np.linspace(0, 1, point_num), |
| y = np.random.randn(point_num)+(i*5) |
| ) |
| ) |
| fig.update_layout(showlegend=False) |
| |
| st.plotly_chart(fig, use_container_width=True) |
|
|
|
|
| st.markdown("# Treemaps: https://plotly.com/python/treemaps/") |
| df = px.data.gapminder().query("year == 2007") |
| fig = px.treemap(df, path=[px.Constant("world"), 'continent', 'country'], values='pop', |
| color='lifeExp', hover_data=['iso_alpha'], |
| color_continuous_scale='RdBu', |
| color_continuous_midpoint=np.average(df['lifeExp'], weights=df['pop'])) |
| fig.update_layout(margin = dict(t=50, l=25, r=25, b=25)) |
| |
| st.plotly_chart(fig, use_container_width=True) |
|
|
|
|
| st.markdown("# Sunburst: https://plotly.com/python/sunburst-charts/") |
|
|
|
|
| st.markdown("# Life Expectancy Sunburst") |
| df = px.data.gapminder().query("year == 2007") |
| fig = px.sunburst(df, path=['continent', 'country'], values='pop', |
| color='lifeExp', hover_data=['iso_alpha'], |
| color_continuous_scale='RdBu', |
| color_continuous_midpoint=np.average(df['lifeExp'], weights=df['pop'])) |
| st.plotly_chart(fig, use_container_width=True) |
|
|
|
|
| st.markdown("# Coffee Aromas and Tastes Sunburst") |
| df1 = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/718417069ead87650b90472464c7565dc8c2cb1c/sunburst-coffee-flavors-complete.csv') |
| df2 = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/718417069ead87650b90472464c7565dc8c2cb1c/coffee-flavors.csv') |
| fig = go.Figure() |
| fig.add_trace(go.Sunburst( |
| ids=df1.ids, |
| labels=df1.labels, |
| parents=df1.parents, |
| domain=dict(column=0) |
| )) |
| fig.add_trace(go.Sunburst( |
| ids=df2.ids, |
| labels=df2.labels, |
| parents=df2.parents, |
| domain=dict(column=1), |
| maxdepth=2 |
| )) |
| fig.update_layout( |
| grid= dict(columns=2, rows=1), |
| margin = dict(t=0, l=0, r=0, b=0) |
| ) |
| st.plotly_chart(fig, use_container_width=True) |
|
|
|
|
|
|
|
|
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
|
|
| df = px.data.tips() |
| fig = px.treemap(df, path=[px.Constant("all"), 'sex', 'day', 'time'], |
| values='total_bill', color='time', |
| color_discrete_map={'(?)':'lightgrey', 'Lunch':'gold', 'Dinner':'darkblue'}) |
| fig.update_layout(margin = dict(t=50, l=25, r=25, b=25)) |
| |
| fig.update_traces(marker=dict(cornerradius=5)) |
|
|
| st.plotly_chart(fig, use_container_width=True) |
|
|
|
|
| df = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/96c0bd/sunburst-coffee-flavors-complete.csv') |
| fig = go.Figure(go.Treemap( |
| ids = df.ids, |
| labels = df.labels, |
| parents = df.parents, |
| pathbar_textfont_size=15, |
| root_color="lightgrey" |
| )) |
| fig.update_layout( |
| uniformtext=dict(minsize=10, mode='hide'), |
| margin = dict(t=50, l=25, r=25, b=25) |
| ) |
| |
| st.plotly_chart(fig, use_container_width=True) |
|
|
|
|
| df = pd.read_pickle('bloom_dataset.pkl') |
| fig = px.treemap(df, path=[px.Constant("ROOTS"), 'Macroarea', 'Family', 'Genus', 'Language', 'dataset_name'], |
| values='num_bytes', maxdepth=4) |
| fig.update_traces(root_color="pink") |
| fig.update_layout(margin = dict(t=50, l=25, r=25, b=25)) |
|
|
| st.plotly_chart(fig, use_container_width=True) |