MATLAB Answers

Possible to use fanplot in a GUI? (SOLVED)

4 views (last 30 days)
orangejuice
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);

  4 Comments

Show 1 older comment
orangejuice
orangejuice on 5 Apr 2016
Found it! The fanplot.m has the statement
h = figure;
Ended up making a hybrid between fanplot.m and fanChart.m which works great! Thanks for your answers!
Annalaura
Annalaura on 11 Oct 2017
Hi! I have the same problem! Can you maybe share the hybrid you created? would be very helpful! =) Thanks!
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
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 );
work?

  0 Comments

Sign in to comment.


Orion
Orion on 5 Apr 2016
Hi,
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
fanplot(hist,proj,'Parent',axesHandle);
check that axeshandle is not empty (put a breakpoint in your code at this line)

  1 Comment

orangejuice
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.

Sign in to answer this question.

Tags

Products


Translated by