Plotting Matrix Columns with Colorbar
조회 수: 6 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Navya Seelam
2020년 2월 17일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 Contour Plots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!