How to change properties of several plots simultaneously?
Show older comments
I want to set properties of several plots all at once instead of setting them individually.
figure(1)
plot(x,y,'--gs','LineWidth',...'MarkerSize',...,'MarkerEdgeColor',...,'MarkerFaceColor',...)
figure(2)
plot(xx,yy,'--gs','LineWidth',...'MarkerSize',...,'MarkerEdgeColor',...,'MarkerFaceColor',...)
figure(3)
plot(xxx,yyy,'--gs','LineWidth',...'MarkerSize',...,'MarkerEdgeColor',...,'MarkerFaceColor',...)
,...
Assuming that properties are the same (linewidth, markersize,...) I want to set them once and not repeat it for each plot.
Thanks in advance
1 Comment
Answers (1)
Steven Lord
on 6 Aug 2020
x = 0:360;
y1 = sind(x);
y2 = cosd(x);
figure
h1 = plot(x, y1);
figure
h2 = plot(x, y2);
set([h1, h2], 'Marker', '^', 'LineStyle', '--', 'MarkerIndices', 1:10:numel(x))
Or write a function that accepts x and y data, opens a figure and calls plot with the appropriate properties, then call that function repeatedly with each of your data sets.
7 Comments
Zeynab Mousavikhamene
on 6 Aug 2020
Steven Lord
on 6 Aug 2020
function h = createplot(x, y)
h = plot(x, y, 'Marker', '^', 'LineStyle', '--', 'MarkerIndices', 1:10:numel(x));
end
Call:
x = 0:360;
y1 = sind(x);
y2 = cosd(x);
createplot(x, y1);
hold on
createplot(x, y2);
Zeynab Mousavikhamene
on 6 Aug 2020
Walter Roberson
on 6 Aug 2020
Zeynab: Are you using App Designer ?
Zeynab Mousavikhamene
on 6 Aug 2020
Walter Roberson
on 6 Aug 2020
App Designer is the replacement for GUIDE; it is a UI design tool. It creates a class to hold all of the data. It also uses the new uifigure() and uiaxes() and related objects.
Walter Roberson
on 6 Aug 2020
MATLAB's idea of what the "current" figure or axes is, can change without warning. Please read https://www.mathworks.com/matlabcentral/answers/?term=tag%3Aalways-parent
Categories
Find more on Graphics Performance in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!