How to switch between Graphs in a GUI

Hallo,
I have a big calculation with more than 5 results each with his own figure/graph. I want to make a GUI with only one graph and a listbox where i can choose which of my results is loading into my graph and not a figure window for each result.
I wrote a simple Version of my Code for an short Impression of my Problem (.txt file) I didnt know how to override the complete previus plot.

2 comentarios

Rik
Rik el 8 de Ag. de 2018
You can either create all graphs in separate axis objects and set the visibility with your listbox callback, or recreate the selected graph with your listbox callback. The graphical calculation shouldn't take too long, even if calculating the underlying data takes ages.
Thomas
Thomas el 8 de Ag. de 2018
@Stephan, Rik Some of my Results are just a Table of Calculation Results Some are 3D plots and some are normal 2D So plotting them in one axes and change die Visibility wont work or?

Iniciar sesión para comentar.

 Respuesta aceptada

Stephen23
Stephen23 el 8 de Ag. de 2018
Editada: Stephen23 el 8 de Ag. de 2018

0 votos

One efficient solution is to plot all of the data in one/several axes, then just set the axes/line/patch/... Visible properties to select which ones can be seen. See my FEX submission brewermap_view's 2D/3D switch for an example of this:
This lets you plot your data continuously, but only show the user what they have selected, quite independently. As an alternative you could plot/create the line/patch/... objects, and then set their XData, YData, etc, when you want to change the plots.

4 comentarios

Stephen23
Stephen23 el 8 de Ag. de 2018
Thomas's "Answer" moved here:
@Stephan, Rik Some of my Results are just a Table of Calculation Results Some are 3D plots and some are normal 2D So plotting them in one axes and change die Visibility wont work or?
Stephen23
Stephen23 el 8 de Ag. de 2018
Editada: Stephen23 el 8 de Ag. de 2018
I wrote in my answer "...plot all of the data in one/ several axes". Use as many axes as you need, it makes no difference to this method. The example I gave you (my FEX submission) uses two axes (one 2D, one 3D), but clearly you can use as many as you want. Just set the axes and plot objects 'Visible' properties as you switch between them.
Thomas
Thomas el 8 de Ag. de 2018
ok i will try this too.
Or is it possible to paste a complete figure(1) window into the main GUI window? I know this isnt the nice programming method, but all result figures allready exist and then i dont have write it new.
Stephen23
Stephen23 el 8 de Ag. de 2018
Editada: Stephen23 el 8 de Ag. de 2018
@Thomas: you could use copyobj, something like this:
As you wrote, "this isnt the nice programming method", but it should work.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre 2-D and 3-D Plots en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 8 de Ag. de 2018

Editada:

el 8 de Ag. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by