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 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) # make Network show itself with repr_html 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)