MATLAB Answers

Plotting Matrix Columns with Colorbar

3 views (last 30 days)
Moe Szyslak
Moe Szyslak on 11 Feb 2020
Answered: Navya Seelam on 17 Feb 2020
I have an array that is long in one dimension and short in another, let's say 50 x 5000. Each of the 50 rows is a point in space and each of the 5000 columns is a time. I would like to plot isochrones as so:
X = 50;
T = 5000;
x = 0:X;
t = 0:T;
M = somefun(x,t);
plot(M(:,1234),x,M(2345,:),x,M(3456,:),x,etc...);
However, I would like to plot many irregularly- (logarithmically?) spaced columns and would like to color them with increasing time and provide a corresponding colorbar. I can think of several ways to brute-force this, but I suspect that there is a simple way that I am missing. I envision something that looks like this:
Any help will be greatly appreciated.

  0 Comments

Sign in to comment.

Answers (1)

Navya Seelam
Navya Seelam on 17 Feb 2020
You can use contour function to plot isochrones as shown below.
x=1:50;
t=1:5000;
M=somefun(x,t) % dimensions of M= 50x5000
t1=[];
x1=[];
for i=1:50
t1=[t1; t];
end
for j=1:5000
x1=[x1 x'];
end
contour(M,x1,t1); % contour levels are chosen automatically
contour(M,x1,t1); % no. of contour levels=100
colorbar;

  0 Comments

Sign in to comment.


Translated by