How to change properties of several plots simultaneously?

조회 수: 59(최근 30일)
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
dpb
dpb 2020년 8월 6일
편집: dpb 2020년 8월 6일
Save the line handles when you plot and use set() See the doc for syntax and examples.
(BTW, the properties don't even have to be the same value...)

댓글을 달려면 로그인하십시오.

답변(1개)

Steven Lord
Steven Lord 2020년 8월 6일
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
Walter Roberson
Walter Roberson 2020년 8월 6일
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

댓글을 달려면 로그인하십시오.

태그

Community Treasure Hunt

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

Start Hunting!

Translated by