MATLAB Answers

How to put a value in a plot label?

34 views (last 30 days)
I have a surf plot where one fixed variable changes and each one is apart of a subplot. I would like the title of each subplot to reflect the fixed variable at that instance. My code currently is:
for k = 1:4
kd = 0.0143.*5*k;
SOTE = (a + kd + kp).*X.^beta.*5*k;
figure(1)
if k < 3
subplot(4,1,k)
surf(X, Y, SOTE)
title('Depth = (varying number here) ft');
xlabel('Flux (scfm)');
ylabel('AT/AD');
zlabel('SOTE (%)');
grid on
else
subplot(4,2,k)
surf(X, Y, SOTE)
title('Depth = (varying number here) ft');
xlabel('Flux (scfm)');
ylabel('AT/AD');
zlabel('SOTE (%)');
grid on
end
end
In each subplot the depth is 5, 10, 15, 20 respectively.

  0 Comments

Sign in to comment.

Accepted Answer

Alex Mcaulley
Alex Mcaulley on 29 Oct 2019
depth = [5,10,15,20];
for k = 1:4
kd = 0.0143.*5*k;
SOTE = (a + kd + kp).*X.^beta.*5*k;
figure(1)
if k < 3
subplot(4,1,k)
surf(X, Y, SOTE)
title(['Depth = ' num2str(depth(i)) ' ft']);
xlabel('Flux (scfm)');
ylabel('AT/AD');
zlabel('SOTE (%)');
grid on
else
subplot(4,2,k)
surf(X, Y, SOTE)
title(['Depth = ' num2str(depth(i)) ' ft']);
xlabel('Flux (scfm)');
ylabel('AT/AD');
zlabel('SOTE (%)');
grid on
end
end

  1 Comment

Jesse Finnell
Jesse Finnell on 29 Oct 2019
A condensed version of the above code
depth = [5 10 15 20];
for k = 1:4
kd = (-0.001+0.0153)*depth(k);
SOTE = (a + kd + kp).*X.^beta*depth(k);
figure(1)
subplot(2,2,k)
surf(X, Y, SOTE)
title(['Depth is ',num2str(depth(k)),'ft']);
xlabel('Flux (scfm)');
ylabel('AT/AD');
zlabel('SOTE (%)');
grid on
end

Sign in to comment.

More Answers (0)

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!