A correction for the above. It seems I did not quite understand how to use the placeholder but figured it out. The above did not replace all the necessary elements. In fact it left out the x and y-axis inputs. The remedy was as follows:
## create 'space' to replace old inputs with new inputs axes_placeholder = st.empty() scatter_choices_placeholder = st.empty() #### create space for the replacement of the chart chart_placeholder = st.empty() ##### select data for default graph. Store inputs in this space (replace 'st.' with placeholder variable) axes_options = axes_placeholder.beta_columns(3) ### Options for default chart scatter_choices = scatter_choices_placeholder.beta_columns([4,4,4,4,1]) .... (inputs for chart) chart_placeholder.pyplot() #### New inputs/Default #### i want this to replace the above when the button is pushed if default_options: #select data for default graph but replace old inputs with new inputs axes_options = axes_placeholder.beta_columns(3) #Options for default chart but replace old inputs with new inputs scatter_choices = scatter_choices_placeholder.beta_columns([4,4,4,4,1]) ... (data inputs for new options) # chart plot (new one replaced with old one) chart_placeholder.pyplot(chart, use_container_width=True)