Plots overlaying each other

13 次查看(过去 30 天)
Jennifer Wade
Jennifer Wade 2021-8-13
Hi, I've been struggling to get separate figures in one .mlx file. When I specify a figure(x) with hold on/hold off commands, and then start a new figure(x+i) with hold on/hold off, the later figure overlays the earlier one. Here is some sample code to illustrate my issue:
figure(1);
hold on
yyaxis left
title('plot 1')
plot(x,NH2O,'DisplayName','H2O','linewidth',2.0)
xlabel('x/L','fontsize',14,'fontweight','b','fontname','arial')
ylabel('H2O','fontsize',14,'fontweight','b','fontname','arial')
yyaxis right
plot(x,N1,'k-','linewidth',2.0)
plot(x,N2,'linewidth',2.0)
plot(x,N3,'linewidth',2.0)
ylim([0 inf])
ylabel('N','fontsize',14,'fontweight','b','fontname','arial')
legend('H2O','1','2','3')
xlim([0 1])
ylim([0 1])
hold off
figure(2);
hold on
title('plot 2')
xlim([0 1])
ylim([0 15])
xlabel('x/L','fontsize',14,'fontweight','b','fontname','arial')
ylabel('H2O','fontsize',14,'fontweight','b','fontname','arial')
plot(x,N1a, 'linewidth',2.0)
plot(x,N2a, 'linewidth',2.0)
hold off

回答(1 个)

Star Strider
Star Strider 2021-8-13
The figure windows are on top of each other. Nothing is replaced. They just have to be moved to different positions.
The new positions are not visible in the online Run application, however they should work in your situation.
Try this —
x1 = 1:10;
y1 = rand(1,10);
figure
plot(x1, y1)
grid
x2 = 1:20;
y2 = randn(1,20);
figure
plot(x2, y2)
grid
fpos = get(gcf,'Position');
set(gcf, 'Position',fpos+[700 -700 0 0])
Experiment to get tifferent results.
.

类别

Help CenterFile Exchange 中查找有关 App Building 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by