# hold on producing separate graphs

6 views (last 30 days)
Lucy on 11 Dec 2022
Edited: Voss on 13 Dec 2022
hold on
figure
x = I
y1 = 4*I.^20
hold on
plot(x,y1)
figure
x = I
y2 = 4*I.^1
hold on
plot(x,y2)
figure
x = I
y3 = 4*I.^0.3
hold on
plot (x,y3)
Here is my code for the three lines I want to plot on the same graph, however it is producing 3 separate graphs, I wondered how I can edit this to ensure it plots the three lines on one graph?
Thank you

VBBV on 11 Dec 2022
I = 1:10;
figure
x = I
x = 1×10
1 2 3 4 5 6 7 8 9 10
y1 = 4*I.^2
y1 = 1×10
4 16 36 64 100 144 196 256 324 400
hold on
plot(x,y1)
% figure
x = I
x = 1×10
1 2 3 4 5 6 7 8 9 10
y2 = 4*I.^1
y2 = 1×10
4 8 12 16 20 24 28 32 36 40
hold on
plot(x,y2)
% figure
x = I
x = 1×10
1 2 3 4 5 6 7 8 9 10
y3 = 4*I.^0.3
y3 = 1×10
4.0000 4.9246 5.5616 6.0629 6.4826 6.8471 7.1712 7.4643 7.7327 7.9810
hold on
plot (x,y3) ##### 2 CommentsShow 1 older commentHide 1 older comment
VBBV on 11 Dec 2022
Its better to use subplot when you have values on lines which differ by significantly high
I = 1:10;
subplot(311)
x = I
x = 1×10
1 2 3 4 5 6 7 8 9 10
y1 = 4*I.^20 % this ^ 20 is huge number !
y1 = 1×10
1.0e+20 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0032 0.0461 0.4863 4.0000
plot(x,y1)
y2 = 4*I.^1
y2 = 1×10
4 8 12 16 20 24 28 32 36 40
subplot(312)
plot(x,y2)
y3 = 4*I.^0.3
y3 = 1×10
4.0000 4.9246 5.5616 6.0629 6.4826 6.8471 7.1712 7.4643 7.7327 7.9810
subplot(313)
plot (x,y3) KALYAN ACHARJYA on 11 Dec 2022
Edited: KALYAN ACHARJYA on 11 Dec 2022
Remove all "figure" statements, also one hold on is sufficient.
Same Figures:
x = I
y1 = 4*I.^20
hold on
plot(x,y1)
x = I
y2 = 4*I.^1
plot(x,y2)
x = I
y3 = 4*I.^0.3
plot (x,y3)

### Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

R2022b

### Community Treasure Hunt

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

Start Hunting!