簡體   English   中英

在Matlab /八度中顯示繪圖周圍的角度

[英]Showing angles around plot in matlab / octave

我可以用pol2cart創建一個圖,但是如何使角度顯示在線條的末端? 參見下面的代碼:

hold on ;
    for angle =  0:20:(360-20)
        [x1,y1] = pol2cart(  angle / 180 * pi , [0 2]);
        plot(x1,y1,'r')
    end

    for rho  =  0:0.1:2
        [x1,y1] = pol2cart(  0:0.01:2*pi , rho);
        plot(x1,y1,'b')
    end
    axis equal

圖片

我正在嘗試使角度增量顯示在周圍,請參見下圖。 請注意,我並沒有繪制所有編號的角度,只是第一對夫婦就說明了我要做什么

PS:我使用的是八度3.8.1,它嘗試使用與matlab相同的語言語法 Imgae2

你可以做類似的事情

step = 20;

r= 2.2;
for idx = 0:step:360-step
    text(r*cos(pi*idx/180),r*sin(pi*idx/180),num2str(idx), ...
        'HorizontalAlignment','center', 'color',[1 .5 0])
end

為了更好地適合,請包括

axis(1.05*[-r r -r r])
axis equal

(這適用於MATLAB,我不知道語法在Octave中是否完全相同。)

這是動畫的信息和情節

%polar_chart_with_angles and there opposites
clear all, clc, clf
%find how many angles to make one full cycleremeber to divide by two if using stereo signal 180 out of phase
incr=72;
angle_wanted=incr;

n = lcm(360, 180 - angle_wanted) / (180 - angle_wanted)
angle_div=[0:incr:incr*n] %angle divsions
angle_div_mod=mod(angle_div,360) %angle divsions mod into 360
angle_div_mod_opp=mod(angle_div+180,360) %oppsite angle divsions mod into 360

%for circles
r= 2.2;
for rho  =  0:0.1:2
    [x1,y1] = pol2cart(  0:0.01:2*pi , rho);
    plot(x1,y1,'b')
    axis(1.10*[-r r -r r])
    axis equal
    hold on;
end

%for orig angles

for ii=1:n
    angle=angle_div(ii)
    [x1,y1] = pol2cart(  angle / 180 * pi , [0 2]);
    plot(x1,y1,'r')
    hold on;
    title_h=title(['Norig= ', int2str(ii)]);
    %title_h = title('This is the title');
    set(title_h, 'Position', [0.5, 0.02],'VerticalAlignment', 'bottom', 'HorizontalAlignment', 'left')
    %%for creating orig angles
    idx=angle_div_mod(ii);
    text(r*cos(pi*idx/180),r*sin(pi*idx/180),num2str(idx), 'HorizontalAlignment','center', 'color',[1 .5 0])
    pause (.1)
end

%for oppsite angles
for ii=1:n
    angle_opp=angle_div_mod_opp(ii)
    [x1,y1] = pol2cart(  angle_opp/ 180 * pi , [0 2]);
    plot(x1,y1,'g')
    hold on;
    title(['Nopp= ', int2str(ii)]);
    %for creating oppsite angles
    idx=angle_div_mod_opp(ii);
    text(r*cos(pi*idx/180),r*sin(pi*idx/180),num2str(idx), 'HorizontalAlignment','center', 'color',[.5 .7 .7])
    pause (.1)
end

在此處輸入圖片說明

暫無
暫無

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

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