Summary
Counplot using Seaborn gives an error when deploying on streamlit Cloud , Works fine in local env
Steps to reproduce
When tying to create a plot using seaborn the error pops up as shown below
This works fine on local env , but not working on web deployment on streamlit
Code snippet:
col1, col2 = st.columns([1,1])
with col1:
# Count plot to show the distribution of comments between the various countries whose people tweeted
with sns.axes_style("darkgrid"):
fig = plt.figure(figsize = (10,8), facecolor = None)
sns.countplot(data = df ,y = 'Countries',orient="v",color='#5975a4',palette = sns.color_palette("pastel") ,order = df['Countries'].value_counts().iloc[:20].index)
plt.title('Top Contributing Countries')
plt.ylabel('Countries', fontsize=12)
plt.xlabel('Frequency of Comments', fontsize=12)
st.pyplot(fig)
plt.clf()
If applicable, please provide the steps we should take to reproduce the error or specified behaviour.
Expected behavior:
Seasborn Should pick up default color and palette or take the provided inputs and give out the plot
Actual behavior:
error message shows up as follows:
2023-05-08 09:08:22.603 Uncaught app exception
Traceback (most recent call last):
File “/home/appuser/venv/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py”, line 565, in _run_script
exec(code, module.dict)
File “/app/sentiment_eda/twitter_eda2.py”, line 119, in
sns.countplot(data = df ,y = ‘Countries’,orient=“v”,color=‘#5975a4’,palette = sns.color_palette(“pastel”) ,order = df[‘Countries’].value_counts().iloc[:20].index)
File “/home/appuser/venv/lib/python3.9/site-packages/seaborn/categorical.py”, line 2943, in countplot
plotter = _CountPlotter(
File “/home/appuser/venv/lib/python3.9/site-packages/seaborn/categorical.py”, line 1532, in init
self.establish_colors(color, palette, saturation)
File “/home/appuser/venv/lib/python3.9/site-packages/seaborn/categorical.py”, line 707, in establish_colors
lum = min(light_vals) * .6
ValueError: min() arg is an empty sequence
Debug info
- Streamlit version: streamlit-1.22.0
- Python version: 3.9
- Issues While deploying StreamLit Cloud, works fine on local env
- OS version: Windows 10
- Browser version:
Requirements file
No issues with the requirement found
Links
- Link to your GitHub repo:
- Link to your deployed app:
Additional information
If needed, add any other context about the problem here.