Possible to use fanplot in a GUI? (SOLVED)

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

As an aside to my answer below...
You should just be able to use
handles.axes1
by the way instead of
findobj(gcf,'Tag','axes1');
It is the more usual (and efficient I would assume, not having to search for a graphics object that you can just go to directly) way to refer to axes in a GUIDE GUI
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!
Hi! I have the same problem! Can you maybe share the hybrid you created? would be very helpful! =) Thanks!
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)

I don't have the Financial Toolbox so I can't test this out, but does
fanplot( hist, proj, 'parent', axesHandle );
work?
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

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.

Categories

Find more on Creating, Deleting, and Querying Graphics Objects in Help Center and File Exchange

Products

Tags

Asked:

on 5 Apr 2016

Community Treasure Hunt

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

Start Hunting!