Plotting Matrix Columns with Colorbar

13 vues (au cours des 30 derniers jours)
Moe Szyslak
Moe Szyslak le 11 Fév 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.

Réponses (1)

Navya Seelam
Navya Seelam le 17 Fév 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;

Catégories

En savoir plus sur Contour Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by