| import streamlit as st |
| import streamlit.components.v1 as components |
| import networkx as nx |
| import matplotlib.pyplot as plt |
| from pyvis.network import Network |
| import got |
| import numpy as np |
| import pandas as pd |
| import time |
| import re |
| import graphviz as graphviz |
| import pydeck as pdk |
|
|
| from st_click_detector import click_detector |
|
|
|
|
|
|
|
|
| st.graphviz_chart(''' |
| digraph { |
| PR0001INCOME -> AbleToBuyOnlyNecessities |
| PR0001INCOME -> DifficultyBuyingNecessities |
| PR0001INCOME -> DifficultyWithMoneyManagement |
| PR0001INCOME -> LowNoIncome |
| PR0001INCOME -> UninsuredMedicalExpenses |
| } |
| ''') |
|
|
| df = pd.read_csv("testfile.csv") |
| @st.cache |
| def convert_df(df): |
| return df.to_csv().encode('utf-8') |
| csv = convert_df(df) |
| st.download_button( |
| "Press to Download", |
| csv, |
| "testfile.csv", |
| "text/csv", |
| key='download-csv' |
| ) |
|
|
|
|
| st.title('Streamlit Visualization') |
| dataframe = pd.DataFrame(np.random.randn(10, 20), |
| columns = ('col %d' % i |
| for i in range(20))) |
| st.write(dataframe) |
|
|
| dataframe = pd.DataFrame(np.random.randn(10, 5), |
| columns = ('col %d' % i |
| for i in range(5))) |
| dataframe |
| st.write('This is a line_chart.') |
| st.line_chart(dataframe) |
|
|
| st.write('This is a area_chart.') |
| st.area_chart(dataframe) |
|
|
| st.write('This is a bar_chart.') |
| st.bar_chart(dataframe) |
|
|
| st.write('Map data') |
| data_of_map = pd.DataFrame( |
| np.random.randn(1000, 2) / [60, 60] + [36.66, -121.6], |
| columns = ['latitude', 'longitude']) |
| st.map(data_of_map) |
|
|
| image = Image.open('picture.jpg') |
| st.image(image, caption = 'This is a picture', use_column_width = True) |
|
|
|
|
|
|
|
|
| st.title('Pyvis VisJS DOTlang Legend') |
|
|
| Network(notebook=True) |
| |
|
|
| def net_repr_html(self): |
| nodes, edges, height, width, options = self.get_network_data() |
| html = self.template.render(height=height, width=width, nodes=nodes, edges=edges, options=options) |
| return html |
|
|
| Network._repr_html_ = net_repr_html |
|
|
| st.sidebar.title('Choose your favorite Graph') |
| option=st.sidebar.selectbox('select graph',('Simple','Karate', 'GOT')) |
| physics=st.sidebar.checkbox('add physics interactivity?') |
| got.simple_func(physics) |
|
|
| if option=='Simple': |
| HtmlFile = open("test.html", 'r', encoding='utf-8') |
| source_code = HtmlFile.read() |
| components.html(source_code, height = 900,width=900) |
|
|
| got.got_func(physics) |
|
|
| if option=='GOT': |
| HtmlFile = open("gameofthrones.html", 'r', encoding='utf-8') |
| source_code = HtmlFile.read() |
| components.html(source_code, height = 1200,width=1000) |
|
|
| got.karate_func(physics) |
|
|
| if option=='Karate': |
| HtmlFile = open("karate.html", 'r', encoding='utf-8') |
| source_code = HtmlFile.read() |
| components.html(source_code, height = 1200,width=1000) |