我想用matlab創建圖表,以徑向方式表示質量的數值評估。用matlab中的顏色變量以編程方式生成極座標或準極座標圖
我發現的最好的方法似乎無法正常工作。一個運行下面的代碼:
theta = (0 : (360/11) : 360)*pi/180;
r = 0 : 2 : 20 ;
[TH,R] = meshgrid(theta,r);
[X,Y] = pol2cart(TH,R);
Z = meshgrid(Data);
surf(X,Y,Z);
Data
是下述含11個數字,示例數據集是數據的矢量:
Data = 0.884, 0.882, 0.879, 0.880, 0.8776, 0.871, 0.8587, 0.829, 0.811, 0.803, 0.780
的surf
這裏的輸出是這樣的:
我想生成這種類型的圖像更精緻的版本:
我已經用下面的代碼生成:
for theta = 0 : pi/100 : pi;
v = [InterpolatedImageHeight;LengthVector];
x_center = InterpolatedImageHeight((HorizontalRes+1)/2);
y_center = 0; %InterpolatedImageHeight((HorizontalRes+1)/2);
center = repmat([x_center; y_center], 1, length(InterpolatedImageHeight));
R = [cos(theta) -sin(theta); sin(theta) cos(theta)];
vo = R*(v - center) + center;
x_rotated = vo(1,:);
y_rotated = vo(2,:);
scatter(x_rotated,y_rotated,DotSize,InterpolatedData,'filled'); %x,y,area,color,properties
end
這樣做的問題是,它是我在哪裏實質上是使用plot(r,Data)
,繪製很多很多的副本,並增加散點圖點大小。圖形本身有許多接縫,這需要大量的內存,並且是時間密集的,其中surf
或mesh
將運行得非常快並且佔用最少的內存。
如何產生具有可變輸入顏色的同心環?