how can I change the line properties of a figure?
13 次查看(过去 30 天)
显示 更早的评论
I have a .fig file,that has more than 1 graphs in it. I want to change each one's color and LineStyle. how can I do that? assume that the figure has 3 graphs.
2 个评论
回答(2 个)
Mischa Kim
2014-1-29
As an alternative, open the figure, change it according to your requirements and generate the corresponding MATLAB code via File > Generate Code...
This will give you, amongst others, a good idea on how to programmatically change figure properties.
Iain
2014-1-29
Theres no one obvious, quick fix.
get the properties of the figure:
fig_props = get(fig_no);
fig_props will contain the handles to each axis in the figure, and some annotations, colormaps, etc. get the properties of each child of fig_props:
child_props_556 = get(fig_props.Children(556))
That will be an axis or something else, you can tell by inspecting the properties. An axis will have more children, some of which will be the plotted lines.
Interrogate the axis's children:
possible_line_prperties = get(child_props_556.Children(2))
If you're happy that child_props_556.Children(2) (or whatever) is the line with properties that you want to change, then you can simply set it's properties.
set(child_props_556.Children(2),'Marker','x')
You will need to apply some intelligence and adaptability to figure out exactly how to do what you want to do.
1 个评论
Iain
2014-1-29
Each of those functions can be used programattically, you just need to know what's going on in the figures.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interactive Control and Callbacks 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!