Borrar filtros
Borrar filtros

Change line type when figure handle is known

12 visualizaciones (últimos 30 días)
J
J el 10 de Mayo de 2011
I have created a plot in a figure window. I want to change the line type to circles.
I know the figure handle. Let's say it's gcf. Can I use this to modify the plot or line? I figure they are children of the figure so I should be able to use
set(gcf, child:plot, child:line, 'o')
... something along those lines. I'm a newbie. How should this look?

Respuesta aceptada

Arnaud Miege
Arnaud Miege el 10 de Mayo de 2011
Does that do what you want?
t = 0:0.1:10;
y = sin(t);
h = plot(t,y);
set(h,'Marker','o');
set(h,'LineStyle','none');
Arnaud
  1 comentario
Arnaud Miege
Arnaud Miege el 10 de Mayo de 2011
PS: you need the plot handle, not the figure handle:
h_fig = gcf;
h_axes = gca;
h_plot = get(h_axes,'Children')

Iniciar sesión para comentar.

Más respuestas (2)

Patrick Kalita
Patrick Kalita el 10 de Mayo de 2011
Starting with a figure handle f, getting its Children property will most often return an axes handle a.
a = get(f, 'Children');
You can verify what it is by looking at a's Type property:
>> get(a, 'Type')
ans =
axes
So far so good. Now the line will be a child of the axes. So get the Children property of a ...
L = get(a, 'Children')
... and verify the Type:
>> get(L, 'Type')
ans =
line
Now you can set the Marker property of the line:
set(L, 'Marker', 'o')
This documentation page is a good reference which explains which objects can be children of other objects, and which properties objects have.
  2 comentarios
Patrick Kalita
Patrick Kalita el 10 de Mayo de 2011
I should point out that Arnaud's answer is a better solution. It is always preferable to hold on to the handle that a function (like plot) returns, rather than diving through the 'Children' property of objects. This method should only be used when absolutely necessary (i.e. you use a function that doesn't return a handle).
Matt Fig
Matt Fig el 10 de Mayo de 2011
An alternative would be to use FINDOBJ.
L = findobj(gcf,'type','line')

Iniciar sesión para comentar.


Matt Fig
Matt Fig el 10 de Mayo de 2011
You could also try this tool, which allows you to make arbitrary changes with a mouse-click:
The preview image shows the options available when you right click on a line.

Categorías

Más información sobre Graphics Object Properties en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by