
Usando Matlab2tikz
gerei um arquivo contendo 104 subparcelas alinhadas de uma maneira bem específica. Em seguida, inseri \pgfplotsset{yticklabel style={text width=2em,align=right},}
, compilei e obtive o PDF final, o que foi bom, exceto que o arranjo das subparcelas ainda não é satisfatório:
Estou tentando organizar melhor as subtramas de forma que:
- haverá o mesmo espaçamento vertical,
- Apenas dois
ylabels
por subtrama
Existe a possibilidade de fazer isso, sem precisar modificar cada um deles addplot
?
Atualizar:
Usando a solução proposta deStefan Pinnow, notei que o pedido ainda está errado. Isso ocorre porque o arquivo *.tikz gerado começou a partir da segunda subtrama (da esquerda) na linha inferior e posicionou as subparcelas seguintes em relação a ele. É claro que isso fez a figura resultante usandogroupplot
completamente errado. Por isso, penso que sou obrigado a manter oaxis
ambiente e brincar com o yticklabels
para melhorar o espaçamento.
Alguma ideia de como corrigir automaticamente três yticklabels
por subtrama?
Responder1
- Acho que a maneira mais fácil (consistente) de implementar isso é usando a
groupplots
biblioteca (dê uma olhada emseção 5.8 do manual PGFPlots na página 428ff (em v1.13). - Como você não especificou exatamenteo que"dois ylabels" que você precisa, sugiro brincar um pouco com as teclas
max space between ticks
etry min ticks
. Outras chaves de interesse poderiam serytick
(em combinação comytick distance
) ouyticklabels from table
. Todas essas chaves podem ser fornecidas diretamente como argumentos opcionais ao\nextgroupplot
comando ou - caso devam ser repetidas - como estilos que você pode definir no preâmbulo.
Encontre um exemplo realmente simples para o groupplot
ambiente abaixo.
\documentclass[border=2mm]{standalone}
\usepackage{pgfplots}
\usepgfplotslibrary{groupplots}
\begin{document}
\begin{tikzpicture}
\begin{groupplot}[
tiny,
/tikz/mark size=1.5pt,
group style={
group name=my plots,
group size=2 by 2,
horizontal sep=4mm, % <-- default: 1cm
vertical sep=2mm, % <-- default: 1cm
xticklabels at=edge bottom,
},
width=3cm,
height=3cm,
]
\nextgroupplot[group/empty plot]
\nextgroupplot
\addplot coordinates{(0,0) (1,2) (2,1)};
\nextgroupplot
\addplot coordinates{(0,0) (1,2) (2,1)};
\nextgroupplot
\addplot coordinates{(0,0) (1,2) (2,1)};
\end{groupplot}
\end{tikzpicture}
\end{document}