Here’s how you can use st.pyplot() to display Pandas dataframe plots (pandas.DataFrame.plot):
st.pyplot expects a Matplotlib Figure object. That object can be accessed by adding a .figure attribute to df_count_percent.plot.barh(y="count_of_purchase/campaign",fontsize=15,color='red',edgecolor="#111111")