PGFplots:固定比例和固定维度

PGFplots:固定比例和固定维度

我有两个 pgfplots 轴,彼此相邻,尺寸相同。轴应对齐并使用相同的轴缩放比例。这导致我指定 、 和 单位向量的情况。width结果height是指定的单位向量覆盖了轴尺寸。xy

\documentclass[tikz,margin=10pt]{standalone}
\usepackage{pgfplots}
\usetikzlibrary{calc}

\begin{document}
\begin{tikzpicture}

    \begin{axis}[
        width=6cm,
        height=6cm,
        x=5mm,
        y=5mm,
        ticks=none,
        name=ax1
    ]
    \addplot[only marks] coordinates {(-1,-1) (0,0) (1,1)};
    \end{axis}

    \begin{axis}[
        width=6cm,
        height=6cm,
        x=5mm,
        y=5mm,
        ticks=none,
        name=ax2,
        at={($(ax1.south east)+(2mm,0)$)},
    ]
    \addplot[only marks] coordinates {(9.5,10.5) (10,10) (10.5,9.5)};
    \end{axis}

\end{tikzpicture}
\end{document}

MWE 如下所示:

当前形势,

我希望它看起来像这样(通过设置实际轴限制实现,因此缩放比例不同):

预期结果

坐标中心不在已知位置,所以我不能直接设置轴限制。

有没有办法直接在 pgfplots 中执行此操作?也许可以告诉 pgfplots 在多个图之间使用相同的轴缩放比例?我查看了 pgfplots 手册的第 4.10 章(“缩放选项”)和第 4.14 章(“指定绘制范围”),但找不到解决方案。

否则,我正在考虑将轴环境(具有固定单位向量)放置在固定大小的节点的中心,以便保留均匀的缩放,并且外框是相同的。

答案1

这是一个简单的解决方案,它只绘制固定大小的节点并将 pgfplots 轴放在它们的中心。

它实现了问题中提出的视觉目标,但是有两个明显的缺点,普遍不可用:

  • 如果内容太大,它们将超出节点边界
  • 如果需要刻度或其他标签,它们将显示在实际隐藏的轴上
\documentclass[tikz,margin=10pt]{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.13}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}

    % Draw the visible plot boundaries as fixed size nodes
    \node[minimum width=6cm, minimum height=6cm, draw] (A) {};
    \node[minimum width=6cm, minimum height=6cm, draw, right=2mm of A] (B) {};

    % Draw the axis without axis lines, with specified scaling,
    % in the middle of the nodes
    \begin{axis}[
        axis line style={draw=none},
        anchor=center,
        x=5mm,
        y=5mm,
        ticks=none,
        at=(A.center),
    ]
    \addplot[only marks] coordinates {(-1,-1) (0,0) (1,1)};
    \end{axis}

    \begin{axis}[
        axis line style={draw=none},
        anchor=center,
        x=5mm,
        y=5mm,
        ticks=none,
        at=(B.center),
    ]
    \addplot[only marks] coordinates {(9.5,10.5) (10,10) (10.5,9.5)};
    \end{axis}

\end{tikzpicture}
\end{document}

相关内容