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 } ''') st.graphviz_chart(''' digraph { PR0012MENTALHEALTH -> Apprehension -> UndefinedFearAnxious PR0012MENTALHEALTH -> Attempts -> SuicideHomicide PR0012MENTALHEALTH -> Difficulty -> Managing -> Anger PR0012MENTALHEALTH -> Difficulty -> Managing -> Stress PR0012MENTALHEALTH -> Expresses -> SuicidalHomicidalThoughts PR0012MENTALHEALTH -> False -> BeliefsDelusions PR0012MENTALHEALTH -> False -> PerceptionsHallucinationsIllusions PR0012MENTALHEALTH -> FlatAffectLackofEmotion PR0012MENTALHEALTH -> IrritableAgitatedAggressive PR0012MENTALHEALTH -> LossofInterest -> Involvementin -> ActivitiesSelfCare PR0012MENTALHEALTH -> MoodSwings PR0012MENTALHEALTH -> NarrowedtoScattered -> AttentionFocus PR0012MENTALHEALTH -> PurposelessCompulsiveRepetitiveActivity PR0012MENTALHEALTH -> SadnessHopelessnessDecreasedSelfEsteem PR0012MENTALHEALTH -> SomaticComplaintsFatigue } ''') 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)