pgfplots에서 104 서브플롯 자동 정렬

pgfplots에서 104 서브플롯 자동 정렬

를 사용하여 Matlab2tikz매우 특정한 방식으로 정렬된 104개의 하위 플롯이 포함된 파일을 생성했습니다. 그런 다음 \pgfplotsset{yticklabel style={text width=2em,align=right},}서브플롯 배열이 여전히 만족스럽지 않다는 점을 제외하면 괜찮았던 최종 PDF를 삽입하고 컴파일하고 얻었습니다.

여기에 이미지 설명을 입력하세요

나는 다음과 같이 하위 플롯을 더 잘 구성하려고 노력하고 있습니다.

  1. 수직 간격은 동일합니다.
  2. ylabels서브플롯당 2개만

모든 항목을 수정하지 않고도 이 작업을 수행할 수 있습니까 addplot?

업데이트: 에서 제안한 솔루션 사용스테판 핀노우, 순서가 여전히 잘못된 것으로 나타났습니다. 이는 생성된 *.tikz 파일이 맨 아래 행의 두 번째 서브플롯(왼쪽부터)에서 시작하여 이를 기준으로 다음 서브플롯에 위치하기 때문입니다. 물론 이것은 다음을 사용하여 결과 그림을 만들었습니다.groupplot완전히 틀렸어. 그러므로 나는 그 약속을 지켜야 할 의무가 있다고 생각한다.axis환경, yticklabels간격을 개선하기 위해 재생합니다.

서브플롯당 3개를 자동으로 수정하는 방법을 아시나요 yticklabels?

답변1

  1. 나는 이것을 구현하는 가장 쉬운(일관적인) 방법은 라이브러리를 사용하는 것이라고 생각합니다 groupplots.428ff 페이지의 PGFPlots 매뉴얼 섹션 5.8(v1.13).
  2. 정확하게 지정하지 않으셨기 때문에무엇"두 개의 ylabel"이 필요한 경우 키 max space between tickstry min ticks. 관심 있는 다른 키는 ytick( 와 함께 ytick distance) 또는 입니다 yticklabels from table. 이러한 모든 키는 \nextgroupplot명령에 대한 선택적 인수로 직접 제공되거나 - 반복되어야 하는 경우 - 서문에서 정의할 수 있는 스타일로 제공될 수 있습니다.

groupplot아래 환경 에 대한 정말 간단한 예를 찾아보세요 .

\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}

위 코드의 결과를 보여주는 이미지

관련 정보