File size: 2,140 Bytes
b7289c6 796a4bb b7289c6 796a4bb b7289c6 a6409ad 7a766b7 796a4bb ffd811b 796a4bb 7a766b7 ce4fc2a 796a4bb 7a766b7 38cf0bb 7a766b7 38cf0bb 74fce9f ce4fc2a 38cf0bb b7289c6 7a766b7 ce4fc2a 38cf0bb 7a766b7 38cf0bb 7a766b7 38cf0bb 7a766b7 796a4bb 38cf0bb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
import streamlit as st
import pandas as pd
import numpy as np
import re
import altair as alt
from session import get_parties_prenantes
import os
from streamlit_vertical_slider import vertical_slider
from st_draggable_list import DraggableList
def display_viz():
parties_prenantes = get_parties_prenantes()
if parties_prenantes is None or len(parties_prenantes) == 0:
st.write("aucune partie prenante n'a été définie")
else:
partie_prenante_non_filtre = [item.lower().capitalize() for sublist in parties_prenantes for item in sublist]
partie_prenante = sorted(list(set(partie_prenante_non_filtre)))
pouvoir = [ 50 for _ in range(len(partie_prenante))]
c = (
alt.Chart(st.session_state['partie_prenante_grouped'])
.mark_circle(size=800)
.encode(x="partie_prenante", y=alt.Y("pouvoir",scale=alt.Scale(domain=[0,100])), color="Code couleur",tooltip=["partie_prenante","pouvoir"])
).configure_legend(orient='bottom',direction="vertical").properties(height=600)
number_of_sliders = len(partie_prenante)
st.write("Modifiez le pouvoir des parties prenantes en utilisant les sliders ci-dessous")
bar = st.columns(number_of_sliders)
for i in range(number_of_sliders):
with bar[i]:
st.session_state['partie_prenante_grouped']['pouvoir'][i] = vertical_slider(
label=partie_prenante[i],
height=100,
key=partie_prenante[i],
default_value=int(st.session_state['partie_prenante_grouped']['pouvoir'][i]),
thumb_color= "orange", #Optional - Defaults to Streamlit Red
step=1,
min_value=0,
max_value=100,
value_always_visible=False,
)
st.altair_chart(c, use_container_width=True)
# data = [{'id':partie_prenante[i], 'name':partie_prenante[i],'pouvoir':int(df["pouvoir"][i])} for i in range(len(partie_prenante))]
# slist = DraggableList(data)
# st.write(slist)
|