Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -700,101 +700,132 @@ final6 = alt.vconcat(chart1, chart2, chart3).resolve_scale(x='shared')
|
|
700 |
#Final_Final
|
701 |
final_final = (final | final2 | final3 ) & (final4 | final5 | final6)
|
702 |
|
703 |
-
#Dashboard
|
704 |
-
import panel as pn
|
705 |
-
import vega_datasets
|
706 |
|
707 |
-
#
|
708 |
pn.extension(design='bootstrap')
|
|
|
|
|
709 |
pn.extension('vega')
|
710 |
|
|
|
711 |
template = pn.template.BootstrapTemplate(
|
712 |
-
title='SI649
|
713 |
)
|
714 |
|
715 |
-
# the main column will hold our key content
|
716 |
maincol = pn.Column()
|
|
|
717 |
|
718 |
-
|
719 |
-
select0 = pn.widgets.Select(options=options1, name='Choose what to compare')
|
720 |
-
# maincol.append(select0)
|
721 |
|
722 |
-
|
723 |
-
charts = []
|
724 |
-
charts.append(final)
|
725 |
-
charts.append(final2)
|
726 |
-
charts.append(final3)
|
727 |
-
charts.append(final4)
|
728 |
-
charts.append(final5)
|
729 |
-
charts.append(final6)
|
730 |
|
731 |
-
# Define options for dropdown
|
732 |
-
options = [f'Chart {i+1}' for i in range(len(charts))]
|
733 |
|
734 |
-
#
|
735 |
-
|
736 |
-
|
737 |
|
738 |
-
|
739 |
-
|
|
|
740 |
|
|
|
|
|
|
|
741 |
|
742 |
-
#
|
743 |
-
|
744 |
-
if value:
|
745 |
-
index = int(value.split()[-1]) - 1
|
746 |
-
return charts[index]
|
747 |
-
else:
|
748 |
-
return None
|
749 |
|
750 |
-
#
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
755 |
-
|
756 |
-
|
757 |
-
|
758 |
-
|
759 |
-
|
760 |
-
|
761 |
-
|
762 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
763 |
|
764 |
-
# Define functions for each category
|
765 |
-
def update_plots_altruism():
|
766 |
-
|
767 |
|
768 |
-
def update_plots_fairness():
|
769 |
-
|
770 |
|
771 |
-
def update_plots_spite():
|
772 |
-
|
773 |
|
774 |
-
def update_plots_trust():
|
775 |
-
|
776 |
|
777 |
-
def update_plots_reciprocity():
|
778 |
-
|
779 |
|
780 |
-
def update_plots_freeriding():
|
781 |
-
|
782 |
|
783 |
-
def update_plots_cooperation():
|
784 |
-
|
785 |
|
786 |
-
# Define a dictionary to map categories to update functions
|
787 |
-
update_functions = {
|
788 |
-
|
789 |
-
|
790 |
-
|
791 |
-
|
792 |
-
|
793 |
-
|
794 |
-
|
795 |
-
}
|
796 |
|
797 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
798 |
# # Define function to update chart based on selected category
|
799 |
# def update_plots_category(event):
|
800 |
# selected_category = event.new
|
@@ -805,44 +836,33 @@ update_functions = {
|
|
805 |
# maincol.append(update_function())
|
806 |
# else:
|
807 |
# maincol.append(pn.pane.Markdown(f"No update function found for category: {selected_category}"))
|
808 |
-
|
809 |
-
# Define function to update chart based on selected category
|
810 |
-
def update_plots_category(event):
|
811 |
-
selected_category = event.new
|
812 |
-
maincol.clear() # Clear existing content in main column
|
813 |
-
|
814 |
-
if selected_category in update_functions:
|
815 |
-
update_function = update_functions[selected_category]
|
816 |
-
maincol.append(update_function())
|
817 |
-
else:
|
818 |
-
maincol.append(pn.pane.Markdown(f"No update function found for category: {selected_category}"))
|
819 |
|
820 |
-
|
821 |
-
|
822 |
|
823 |
|
824 |
-
# Callback function to handle select widget events
|
825 |
-
def select_callback(event):
|
826 |
-
|
827 |
-
|
828 |
|
829 |
-
|
830 |
-
|
831 |
-
|
832 |
-
|
833 |
-
|
834 |
-
|
835 |
-
|
836 |
-
|
837 |
|
838 |
-
# # Bind the update_plots_category function to the select widget's 'value' parameter
|
839 |
-
# select.param.watch
|
840 |
-
|
841 |
|
842 |
-
# Bind the callback function to the select widget's 'value' parameter
|
843 |
-
select0.param.watch(select_callback, 'value')
|
844 |
|
845 |
-
maincol.append(select0)
|
846 |
|
847 |
-
template.main.append(maincol)
|
848 |
-
template.servable()
|
|
|
700 |
#Final_Final
|
701 |
final_final = (final | final2 | final3 ) & (final4 | final5 | final6)
|
702 |
|
|
|
|
|
|
|
703 |
|
704 |
+
# we want to use bootstrap/template, tell Panel to load up what we need
|
705 |
pn.extension(design='bootstrap')
|
706 |
+
|
707 |
+
# we want to use vega, tell Panel to load up what we need
|
708 |
pn.extension('vega')
|
709 |
|
710 |
+
# create a basic template using bootstrap
|
711 |
template = pn.template.BootstrapTemplate(
|
712 |
+
title='SI649 project2test',
|
713 |
)
|
714 |
|
|
|
715 |
maincol = pn.Column()
|
716 |
+
maincol.append("TEST")
|
717 |
|
718 |
+
template.main.append(maincol)
|
|
|
|
|
719 |
|
720 |
+
template.servable(title="SI649 Project2Test")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
721 |
|
|
|
|
|
722 |
|
723 |
+
# #Dashboard
|
724 |
+
# import panel as pn
|
725 |
+
# import vega_datasets
|
726 |
|
727 |
+
# # Enable Panel extensions
|
728 |
+
# pn.extension(design='bootstrap')
|
729 |
+
# pn.extension('vega')
|
730 |
|
731 |
+
# template = pn.template.BootstrapTemplate(
|
732 |
+
# title='SI649 Project2',
|
733 |
+
# )
|
734 |
|
735 |
+
# # the main column will hold our key content
|
736 |
+
# maincol = pn.Column()
|
|
|
|
|
|
|
|
|
|
|
737 |
|
738 |
+
# options1 = ['ALL', 'Choose Your Own', 'Based On Category']
|
739 |
+
# select0 = pn.widgets.Select(options=options1, name='Choose what to compare')
|
740 |
+
# # maincol.append(select0)
|
741 |
+
|
742 |
+
# # Charts
|
743 |
+
# charts = []
|
744 |
+
# charts.append(final)
|
745 |
+
# charts.append(final2)
|
746 |
+
# charts.append(final3)
|
747 |
+
# charts.append(final4)
|
748 |
+
# charts.append(final5)
|
749 |
+
# charts.append(final6)
|
750 |
+
|
751 |
+
# # Define options for dropdown
|
752 |
+
# options = [f'Chart {i+1}' for i in range(len(charts))]
|
753 |
+
|
754 |
+
# # Panel widgets
|
755 |
+
# select1 = pn.widgets.Select(options=options, name='Select Chart 1')
|
756 |
+
# select2 = pn.widgets.Select(options=options, name='Select Chart 2')
|
757 |
+
|
758 |
+
# options = ['Altruism', 'Fairness', 'spite', 'trust', 'reciprocity', 'free-riding', 'cooperation']
|
759 |
+
# select_widget = pn.widgets.Select(options=options, name='Select a category')
|
760 |
+
|
761 |
+
|
762 |
+
# # Define function to update chart
|
763 |
+
# def update_chart(value):
|
764 |
+
# if value:
|
765 |
+
# index = int(value.split()[-1]) - 1
|
766 |
+
# return charts[index]
|
767 |
+
# else:
|
768 |
+
# return None
|
769 |
+
|
770 |
+
# # Combine dropdown and chart
|
771 |
+
# @pn.depends(select1.param.value, select2.param.value)
|
772 |
+
# def update_plots(value1, value2):
|
773 |
+
# selected_chart1 = update_chart(value1)
|
774 |
+
# selected_chart2 = update_chart(value2)
|
775 |
+
# if selected_chart1 and selected_chart2:
|
776 |
+
# return pn.Row(selected_chart1, selected_chart2)
|
777 |
+
# elif selected_chart1:
|
778 |
+
# return selected_chart1
|
779 |
+
# elif selected_chart2:
|
780 |
+
# return selected_chart2
|
781 |
+
# else:
|
782 |
+
# return None
|
783 |
|
784 |
+
# # Define functions for each category
|
785 |
+
# def update_plots_altruism():
|
786 |
+
# return pn.Row(final, final5)
|
787 |
|
788 |
+
# def update_plots_fairness():
|
789 |
+
# return pn.Row(final2, final5)
|
790 |
|
791 |
+
# def update_plots_spite():
|
792 |
+
# return final
|
793 |
|
794 |
+
# def update_plots_trust():
|
795 |
+
# return final4
|
796 |
|
797 |
+
# def update_plots_reciprocity():
|
798 |
+
# return final5
|
799 |
|
800 |
+
# def update_plots_freeriding():
|
801 |
+
# return final6
|
802 |
|
803 |
+
# def update_plots_cooperation():
|
804 |
+
# return final6
|
805 |
|
806 |
+
# # Define a dictionary to map categories to update functions
|
807 |
+
# update_functions = {
|
808 |
+
# 'Altruism': update_plots_altruism,
|
809 |
+
# 'Fairness': update_plots_fairness,
|
810 |
+
# 'spite': update_plots_spite,
|
811 |
+
# 'trust': update_plots_trust,
|
812 |
+
# 'reciprocity': update_plots_reciprocity,
|
813 |
+
# 'freeriding': update_plots_freeriding,
|
814 |
+
# 'cooperation': update_plots_cooperation
|
815 |
+
# }
|
816 |
|
817 |
|
818 |
+
# # # Define function to update chart based on selected category
|
819 |
+
# # def update_plots_category(event):
|
820 |
+
# # selected_category = event.new
|
821 |
+
# # maincol.clear() # Clear existing content in main column
|
822 |
+
|
823 |
+
# # if selected_category in update_functions:
|
824 |
+
# # update_function = update_functions[selected_category]
|
825 |
+
# # maincol.append(update_function())
|
826 |
+
# # else:
|
827 |
+
# # maincol.append(pn.pane.Markdown(f"No update function found for category: {selected_category}"))
|
828 |
+
|
829 |
# # Define function to update chart based on selected category
|
830 |
# def update_plots_category(event):
|
831 |
# selected_category = event.new
|
|
|
836 |
# maincol.append(update_function())
|
837 |
# else:
|
838 |
# maincol.append(pn.pane.Markdown(f"No update function found for category: {selected_category}"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
839 |
|
840 |
+
# # Append select_widget again to allow changing the category selection
|
841 |
+
# maincol.append(select_widget)
|
842 |
|
843 |
|
844 |
+
# # Callback function to handle select widget events
|
845 |
+
# def select_callback(event):
|
846 |
+
# selected_value = event.new
|
847 |
+
# maincol.clear() # Clear existing content in main column
|
848 |
|
849 |
+
# if selected_value == 'Choose Your Own':
|
850 |
+
# maincol.append(select1)
|
851 |
+
# maincol.append(select2)
|
852 |
+
# maincol.append(update_plots)
|
853 |
+
|
854 |
+
# elif selected_value == 'Based On Category':
|
855 |
+
# maincol.append(select_widget)
|
856 |
+
# select_widget.param.watch(update_plots_category, 'value')
|
857 |
|
858 |
+
# # # Bind the update_plots_category function to the select widget's 'value' parameter
|
859 |
+
# # select.param.watch
|
860 |
+
# # maincol.append(update_plots_category())
|
861 |
|
862 |
+
# # Bind the callback function to the select widget's 'value' parameter
|
863 |
+
# select0.param.watch(select_callback, 'value')
|
864 |
|
865 |
+
# maincol.append(select0)
|
866 |
|
867 |
+
# template.main.append(maincol)
|
868 |
+
# template.servable()
|