how to make such type of plot in matlab? we have 4 models and each model have different depth and different velocities v1, v2.

8 views (last 30 days)
  1 Comment
Mathieu NOE
Mathieu NOE on 9 Dec 2020
when you use the plot function, it can handle multiple groups of x, y data pairs , and they don't need to be of the same length :
example : first data x,y has length 10 , second 20 :
plot ((1:10),sin((1:10)*pi/10),'b',(1:20),cos((1:20)*pi/10),'r'); grid

Sign in to comment.

Accepted Answer

weikang zhao
weikang zhao on 9 Dec 2020
I tried to restore part of the picture by visually inspecting the values. As a demonstration, two lines (model A & model LE) are provided.
Fig = figure;
hold on;
%% prepare data
model_A = [4,4.5,6,6.8,8,8.5;0,5,17,30,40,45];
model_A = kron(model_A,[1,1]);
model_A = [model_A(1,2:end);model_A(2,1:end-1)];
model_LE = [4,5,5.6,6.2,6.4,6.6,6.7,7.2;0,2,5,15,20,25,32,45];
model_LE = kron(model_LE,[1,1]);
model_LE = [model_LE(1,2:end);model_LE(2,1:end-1),];
line1 = plot(model_A(1,:),model_A(2,:),'k');
line2 = plot(model_LE(1,:),model_LE(2,:),'k','LineWidth',2);
Axes = Fig.CurrentAxes;%Get the Axes object
xlabel('Vp(km/s)');%Set x label
ylabel('depth(km)');%Set y label
legend('A','LE');%Add legend
set(Axes,'XAxisLocation','top');%Set x axis to the top
set(Axes,'YDir','reverse');%Reverse y axis
axis([4,9,0,50]);%Set axis limits and aspect ratios
have fun!

More Answers (0)


Community Treasure Hunt

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

Start Hunting!

Translated by