PGFPlots:自动强制在轴末端刻度

PGFPlots:自动强制在轴末端刻度
  1. 我希望下面第一张图片中颜色图的刻度显示数据的最大值和最小值,如第二张图片中所示,在本例中为 1.35 和 -0.26。我知道我可以通过取消注释包含 的行来实现这一点extra y ticks=...,但我想自动完成。

    我拥有的:

    我拥有的

    我想要的(自动):

    我(自动)想要什么

  2. 我希望只在最小值和最大值的小数点后显示一个整数(在本例中为 1.3 和 -0.2)。但这并不重要,因为我可以在 Matlab 中对我的数据进行四舍五入,但我想避免这种情况。

    \documentclass{article}
    \usepackage{tikz,pgfplots}
    \pgfplotsset{compat=1.13}
    \usepgfplotslibrary{patchplots}
    \begin{document}
    \begin{tikzpicture}
    \begin{axis}[
    small,
    view={0}{90},
    colorbar,
    colorbar style={
            %extra y ticks={-0.26,1.35}
    }
    ]
    \addplot3[surf,shader=interp,patch type=bilinear]
    coordinates {
    (0,0,-0.26) (1,0,0)
    
    (0,1,0) (1,1,1.35)
    };
    \end{axis}
    \end{tikzpicture}
    \end{document}
    

编辑:

在实际应用中,我从 matlab 导入数据,因此简单地定义一个变量(在此示例中可能是半自动解决方案)是不可能的。

答案1

\pgfkeysvalueof{/pgfplots/ymin}您可以使用和获取最小值和最大值\pgfkeysvalueof{/pgfplots/ymax}}

我只有 TL 2015,所以我需要1.12,但我不明白为什么这在1.13

\documentclass{article}
\usepackage{tikz,pgfplots}
\pgfplotsset{compat=1.12}
\usepgfplotslibrary{patchplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
small,
view={0}{90},
colorbar,
colorbar style={
        extra y ticks={\pgfkeysvalueof{/pgfplots/ymin},\pgfkeysvalueof{/pgfplots/ymax}}
}
]
\addplot3[surf,shader=interp,patch type=bilinear]
coordinates {
(0,0,-0.26) (1,0,0)

(0,1,0) (1,1,1.35)
};
\end{axis}
\end{tikzpicture}
\end{document}

相关内容