Este artigo será útil para quem cria gráficos no ambiente Matlab.
Ao preparar gráficos para a publicação de artigos em revistas científicas e vários tipos de relatórios, muitas vezes me deparei com a necessidade de construir várias curvas, cada uma relacionada ao seu eixo - para não sobrecarregar o artigo com gráficos e não ultrapassar seu limite. Porém, para isso, no Matlab anterior à versão R2014a, havia apenas a equipe
complicada (X1, Y1, X2, Y2) , que possui vários recursos desagradáveis, pelo que era necessário usar outros programas e fazer tudo manualmente, o que, em primeiro lugar, complica esse processo. do ponto de vista de um único estilo, em segundo lugar, requer muito tempo e, em terceiro lugar, não permite alterações rápidas.
Características e descrição desagradáveisA tais características desagradáveis eu atribuiria:
1. Falta de análogo de
espera (
espera "nativa" não funciona corretamente com parcy). Para adicionar mais de 2 curvas, você precisa usar esta construção:
[hAx,hLine1,hLine2] = plotyy([x1',x2'],[y1' y2'],[x3',x4'],[y3',y4']);
Uma característica desagradável n ° 2 segue deste projeto:
2. As dimensões das matrizes entre colchetes devem corresponder, porque matrizes de elementos são formadas a partir deles. Na prática, isso acontece muito raramente.
3. O design sofre seriamente pelo fato de você não poder alterar programaticamente as cores e os tipos de todas as linhas em uma linha; é possível formatar apenas um conjunto de linhas relacionadas a um eixo específico (hLine1 e hLine2) - em qualquer caso, eu não poderia. Ao mesmo tempo, não estou falando sobre alterar parâmetros manualmente, ou seja, edição na janela “figura” - somente diretamente com o código no arquivo .m.
Resumindo o acima: plotyy () não é muito adequado para exibir vários conjuntos de gráficos para diferentes eixos. A menos que dependências simples como estas:
x = linspace(0,10); y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*cos(10*x); y3 = 0.2*exp(-0.5*x).*cos(10*x); y4 = 150*exp(-0.05*x).*sin(x); X=[x',x']; Y1=[y1' y4']; Y2=[y2',y3']; [hAx,hLine1,hLine2] = plotyy(X,Y1,X,Y2);

Ou a equipe de
yyaxes , que apareceu na versão Matlab R2014a. Aqui temos agora para onde dar a volta.
Eu gostaria de falar sobre as delícias dessa equipe usando meu próprio exemplo. A tarefa é que eu precise construir em um gráfico 3 perfis de temperatura (soluções obtidas pelo método numérico direto, método de momento e valores experimentais) relacionados ao eixo direito e 3 perfis de pressão relacionados ao eixo esquerdo. E também adicione setas e legendas.
Os
comandos yyaxis left e
yyaxis right permitem lidar com esta tarefa de cada vez. O que, de fato, é a essência. Dentro de uma figura, podemos construir qualquer número de gráficos vinculando-os a um dos eixos. Dentro da estrutura de cada equipe, tudo funciona da mesma forma que nos agendamentos regulares.
A estrutura da imagem neste caso terá a seguinte aparência:
figure() { - , } yyaxis left { , - , , , } yyaxis right { , - , , , }
Preenchendo essa estrutura com o necessário, obtemos como resultado:

Outro recurso adicional na preparação de gráficos para impressão é a sua economia simples e conveniente em qualquer formato suportado pelo Matlab. Para fazer isso, você só precisa adicionar as seguintes linhas:
SumárioA partir da versão R2014a, o Matlab tornou-se um programa adequado para preparar horários para a publicação de artigos em várias revistas científicas. Uma vantagem importante é a flexibilidade muito boa dessa ferramenta, que permite processar os resultados e apresentá-los de forma digerível e bonita, inclusive para os chamados. Processamento em "lote".
Vale a pena dar uma olhada:→ Um
artigo útil sobre gráficos no Matlab→
Descrição da yaxis
→
Descrição do ploty→
Exportar gráficos