Matplotlib plots are blurry

Hi,

I have the problem that I have blurry graphs when I use matplotlib plots with different format than standard.

df.plot(figsize=(25, 5), antialiased=True)
st.pyplot(dpi=100)

results in 51

I also asked this on SO: https://stackoverflow.com/questions/59104921/matplotlib-plot-has-bad-resolution-in-streamlit

Does somebody have an idea how to solve this problem?

Hey @mjspier - thanks for checking out Streamlit!

The figsize param values are in inches, so in this case you’re generating an image that’s intended to be 25 inches wide. Streamlit is then shrinking that image down to Streamlit’s maximum displayable width, which is about 1500 pixels, hence the blurriness.

An easy fix is to pass a small figsize. (Each inch in figsize is ~1000 pixels, so a figsize of (15, 3) will look less blurry.)

I’ve also opened a bug about this, so that we at least do something less unexpected than showing an ugly image when figsize is very large.

Is there any documentation for showing matplotlib plots in streamlit. Cannot find it in the docs anywhere.

1 Like

The problem is not to find the docs. It’s the content. The search tool does mostly find the change logs. So, if you don’t know the docs by heard you are lost.

Hi Soren,

Does the link Randy provided you not take you directly to the place in docs where the documentation for showing Matplotlib plots is? It did for me at least.

Otherwise I also like to use CTRL+F in the API reference and search that way. Search for either Matplotlib or pyplot and you should be good to go :slight_smile: