I have been creating dashboards for exploring data, and finding relations between each other. I have been using Power BI, but it has a lot of limitations, gets very frustrating and there isn’t much flexibility in what you can make. I want to use Streamlit instead (else Panel), but a requirement I have is interactions between plots - so selecting an area of a scatter plot, or selecting a slice of a pie chart should be able to update tables and the rest of the plots. I already have plotly experience, in addition to a bank of plotly and streamlit functions, so I would prefer to use streamlit over Panel, but this interactivity isn’t currently easy to do with Streamlit.
However, plotly have recently released a FigureWidget class which can majorly help with this as it can output the indices of the selected points. However this doesn’t seem to be explicitly supported by Streamlit.
I have included the relevant links:
a) is there any plans on being able to input a FigureWidget into a streamlit.plotly_chart object or similar? As you can then add callbacks to this FigureWidget object, such as update the input dataframe on selection, using widget_object.data.on_selection(fn_to_cut_down_df).
b) I noticed that Streamlit Components has been launched, which seems like it may make this kind of thing possible, but currently you need to link it to a frontend file. Is there any way to add a streamlit component which is this FigureWidget object, which can then be used in the above way? Or would it be simple to create a component to pull out the df indices selected on the plot and send them to Python?
I don’t have any React or JS experience sadly, I’ve mainly used Python - but I’m happy to learn, I’m just a little stuck on where to start.
I am using Streamlit 0.63.0, with Python 3.7.7 with miniconda. Additionally I use Windows 10 and Google Chrome.
Thanks in advance!