簡體   English   中英

標量的Colormap 2D-Matlab

[英]Colormap 2D for a scalar - Matlab

我在模擬時間和地點的波浪傳播。 我想在空間中的每個時間步驟為其值創建一個顏色圖。 我的意思是,我想繪制一個由2個軸(x和y)組成的圖形,並按顏色在這些點上顯示波浪的值(波浪變量為V)。 我該怎么做? 我試過了:

for ind1 = 1:length(t)
figure()
trisurf(x1,y1,V(:,ind1),'EdgeColor', 'None', 'facecolor', 'interp');
view(2);
end

但是我收到一條消息,z(= V)應該是一個函數,而不是一個標量。 有什么建議么?

我有兩個選擇,我認為它們不會是完美的,但這可能會有所幫助。

首先,將數據插值到矩形網格上,然后使用contourf

F=scatteredInterp(x,y,V(:,ind1));
X=linspace(min(x),max(x));
Y=linspace(min(y),max(y));
contourf(X,Y,F(X,Y))

其次,使用scatter繪制不同顏色的點:

scatter(x,y,25,V(:,ind1))

其中25個控件控制着每個標記的大小,您可能必須嘗試一下。

希望能給您一些想法。

我做了一個循環,終於可以了:

clear heart_movie
Vnorm = mat2gray(V(:,1:2000));
x1_new = x1-min(x1)+1;
y1_new = y1-min(y1)+1;

for ind1 = 1:2000
    heart = zeros(max(x1_new),max(y1_new));
    z = Vnorm(:,ind1);
    for ind2 = 1:length(z);
        heart(y1_new(ind2),x1_new(ind2))= z(ind2);
    end
    colormap(jet);
    imagesc(flipud(heart));
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM