|
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') |
|
|
|
|
|
st.markdown("# WebGL with many gifts, traces") |
|
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("WebGL Rendering with 1,000,000 Points") |
|
import plotly.graph_objects as go |
|
import numpy as np |
|
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') |
|
) |
|
) |
|
) |
|
|
|
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) |
|
|
|
|
|
|