The command hold on allows you to plot in an existing axes without erasing what's already been plotted.
Alternately you can use hold all which behaves similarly but ensures that additional plot commands will cycle through a predefined color list (unless you overide this).
So a quick example of how you might do this is:
figure; % Create new figure window
hold on; % Retain graph when adding new ones
plot(Data1);
plot(Data2);
plot(Data3);
The slightly more involved answer is that you also need to ensure that all of your plot commands are plotting to the same figure. When you call the plot command, it plots to whatever figure is considered the "current figure". The explanation of this is a little advanced and involves storing and calling figure handles, but I've supplied a more detailed example below.
To get more control over what figure is the current figure, you might modify the above code as follows:
h = figure; % Create new figure window, assign figure handle to h
plot(Data1);
% ... Do things other than plotting
figure(h); % When ready to plot, set figure "h" to be the current figure
hold on; % Apply hold to ensure you won't erase previous plots
plot(Data2);
So to answer your original question, if the plotting is being done inside the function itself, you will need to ensure that the function has access to the handle of the figure you want to plot to.