Plotting Matrix Columns with Colorbar

2 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.

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;

Categories

Find more on Contour Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!