Once a chart is plotted, you can only add simple lines, shapes and text on top, usually used for programmable track cursors. The axis scale or data layers cannot be changed.
For user configurable charts, the usual method is to use variables to represent all parameters that are configurable by the user. You can have a user interface like a "property sheet" to allow the user to configure the parameters. There is a drawChart subroutine that draws the chart based on the parameters. No matter which parameter is changed, the code just calls drawChart to update the display.
The "Interactive Finance Chart" sample code is an example of a chart with a lot of user configurable parameters. No matter what the user has changed, the code just calls drawChart to update the display.
For your particular case, you may set up two variables (min_x_value and max_x_value) and has a user interface to allow the user to set those values. The initial value can be both 0, and the charting code can treat it to mean auto-scaling. So it is like:
XYChart c = new XYChart(.....);
if (min_x_scale != max_x_scale)