Just use a hack with columns.
col1, _ = st.columns([.2, .8])
with col1:
st.pyplot(fig)
It will set the with of the figure to 20% of the total with of the streamlit page.
If you need to center the figure:
col1, col2, _ = st.columns([.4, .2, .4])
with col2:
st.pyplot(fig)