Pergunta

Como você pega um enredo e o coloca no canto (ou em qualquer lugar para esse assunto) de outra trama no Matlab?

Eu tenho dados logarítmicos que têm um grande espaço em branco no lado superior direito do gráfico. No espaço em branco, gostaria de sobrepor um gráfico menor contendo um zoom em versão do gráfico de log naquele espaço branco (como uma vista ampliada).

Antes que você me diga que não pode ser feito, gostaria de mencionar que o vi em ação. Se minha descrição estiver faltando, me avise e tentarei descrevê -la melhor para você.

Foi útil?

Solução

Um exemplo:

x = 1:20;
y = randn(size(x));

plot(x, y,'LineWidth',2)
xlabel('x'), ylabel('y'), title('Plot Title')

h = axes('Position', [.15 .65 .2 .2], 'Layer','top');
bar(x,y), title('Bar Title')
axis(h, 'off', 'tight')

screenshot

Outras dicas

Você pode usar axes propriedades 'position' e 'units' e faça -os excessivamente. Preste atenção para criar pequenos eixos após o Big OU ou usar uistack() função para que o grande não ocorra pequeno.

O que você não pode fazer é fazer um eixo filho de outro (como o Mathworks faz com legend). Mas você não precisa disso de qualquer maneira.

Para o segundo lote que você tem que usar axes e line ao invés de plot e hold on.

Unidades como 'normalized' (que é padrão) permite uma aparência uniforme redimensionável quando a figura dos pais está sendo redimensionada (por exemplo, maximizado manualmente).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top