根据轴对称数据填充轮廓

根据轴对称数据填充轮廓

我有轴对称的温度数据。(见图 1;抱歉我的画得不好)图1数字(1 到 10)表示测量点。现在,根据这些数据,如何获得像图 2 和图 3 这样的填充轮廓?在 pgfplots 中可以实现吗? 图 2 图 3

最后两个数字仅用于表示目的。

答案1

您可以使用contour filled来可视化数据,data cs=polar如果您需要极坐标:

\documentclass{standalone}

\usepackage{pgfplots}

\usepgfplotslibrary{colorbrewer}
\pgfplotsset{compat=1.14}

\begin{document}

\begin{tikzpicture}
    \begin{axis}[colorbar, colormap/Spectral,view={0}{90}]
    \addplot3[
        domain=0:360,
        domain y=0:360,
        data cs=polar,
        contour filled={number=15},
    ]
    (x,y,{sin(y)});
    \end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

关键data cs=polar是确保x角度、y半径和z值在范围内被选为振荡函数-1:1。提供的colormap是“发散”方案,colorbrewer非常适合此处的振荡函数,但您colormap也可以使用任何其他方案。您可以使用任何类型的输入数据(包括表格数据),只要它形成网格(即具有固有矩阵结构)。

\documentclass{standalone}

\usepackage{pgfplots}

\usepgfplotslibrary{colorbrewer}
\pgfplotsset{compat=1.14}

\begin{document}

\begin{tikzpicture}
    \begin{axis}[colorbar, xmin=0, ymin=0,colormap/Spectral,view={0}{90}]
    \addplot3[
        domain=0:360,
        domain y=0:360,
        data cs=polar,
        contour filled={number=15},
    ]
    (x,y,{sin(y)});
    \end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

请注意,contour filled需要 pgfplots 1.14 或更新版本。在撰写本文时,您可能需要先进行更新(2016 年 8 月)。

相关内容