Possible to use fanplot in a GUI? (SOLVED)

2 views (last 30 days)
orangejuice on 5 Apr 2016
Is it possible to use the fanplot graph in a GUI?
I tried the following code but it opens a new graph window.
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
axesHandle= findobj(gcf,'Tag','axes1');
[hist, proj] = get_data(1000); %get historical data + 1000 simulations
axesHandle = fanplot(hist,proj);
Guido Francesco Frate
Guido Francesco Frate on 12 Oct 2018
You can open the fanplot.m and modify the statement "h = figure" in "h = gcf" (it will use the current figure for the plot, instead of opening an additional figure). You will not be able to save the modified fanplot.m, so just copy all the function and paste it on a new m-file. I saved it as fanplot2 and added it to my matlab path, so i can use it whenever i want. With this little modification you can do useful things like putting your fan charts in subplots! In the same way you can disable the automatic grid, ylabel and title...

Sign in to comment.

Answers (2)

Adam on 5 Apr 2016
I don't have the Financial Toolbox so I can't test this out, but does
fanplot( hist, proj, 'parent', axesHandle );

Orion on 5 Apr 2016
I don't know this function (don't have the associated toolbox), but for what I see in the doc, you can do it.
First, check the HandleVisibility property of your figure. it should be set to callback.
Then, ckeck that your axe do have the tag axes1.
Finally, you can plot your data in the axe you want using the syntax
check that axeshandle is not empty (put a breakpoint in your code at this line)
  1 Comment
orangejuice on 5 Apr 2016
Unfortunately this doesn't work. The fanplot function doesn't allow other input arguments.
Error using fanplot
Too many input arguments.
Error in FanPlotUI>pushbutton1_Callback (line 137)
fanplot(hist, proj, 'Parent', axesHandle);

Sign in to comment.



Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!