Fixação do eixo radial em lotes MATLAB polares
-
03-07-2019 - |
Pergunta
Eu estou usando gráficos polares (POLAR (THETA, RHO)) em MATLAB.
Existe uma maneira fácil de corrigir o intervalo para o eixo radial dizer, 1,5?
Eu estou procurando algo análogo à xlim, comandos ylim para eixos cartesianos. Não encontrei nada nos docs ainda.
Solução
Aqui está como eu era capaz de fazê-lo.
O enredo polar MATLAB (se você olhar para o punho opções de gráficos disponíveis) não tem qualquer coisa como xlim ou ylim. No entanto, percebi que a primeira coisa plotados sets a faixa, assim que eu era capaz de traçar uma função com raio de alcance [-.5 .5] em [-1 1] enredo da seguinte forma:
theta = linspace(0,2*pi,100);
r = sin(2*theta) .* cos(2*theta);
r_max = 1;
h_fake = polar(theta,r_max*ones(size(theta)));
hold on;
h = polar(theta, r);
set(h_fake, 'Visible', 'Off');
Isso não parece muito bom e espero que há uma maneira melhor de fazer isso, mas funciona.
Outras dicas
Isso funcionou para mim ... Eu queria que o raio de alcance para ir para 30, então eu plotados pela primeira vez esta ??p>
polar(0,30,'-k')
hold on
e depois plotados o que eu estava realmente interessado. Neste primeiro ponto traçado está escondido por trás das marcas de grade. apenas certifique-se de incluir
hold off
após o seu comando final plotagem.
Uma solução simples é fazer um gráfico falso e defina sua cor para branco.
fake=100;
polar(0,fake,'w');
hold on;
real=10;
polar(0,real,'w');
Em caso de alguém se depara com isso, aqui está o Solução:
As Scottie T e gnovice apontou, Matlab, basicamente, usa a função polar como uma interface para o padrão parcelas, mas com um monte de formatação nos bastidores para torná-la polar. Olhe para os valores das propriedades XLim e YLim de um lote polar e você vai perceber que eles são literalmente os limites xey de seu enredo em coordenadas cartesianas. Assim, para definir um limite de raio, o uso xlim e ylim, ou eixo, e ser esperto sobre os valores definidos:
rlim = 10;
axis([-1 1 -1 1]*rlim);
... isso é tudo que existe para ela. Feliz Matlabbing:)