![pgfplots + gnuplot:如何使用颜色条清理从原始 gnuplot 数据生成的轮廓图的外观?](https://linux22.com/image/307567/pgfplots%20%2B%20gnuplot%EF%BC%9A%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E9%A2%9C%E8%89%B2%E6%9D%A1%E6%B8%85%E7%90%86%E4%BB%8E%E5%8E%9F%E5%A7%8B%20gnuplot%20%E6%95%B0%E6%8D%AE%E7%94%9F%E6%88%90%E7%9A%84%E8%BD%AE%E5%BB%93%E5%9B%BE%E7%9A%84%E5%A4%96%E8%A7%82%EF%BC%9F.png)
以下是 MWE:
\documentclass[12pt,letterpaper]{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[view={0}{90}, clip = false, xmin = -2, xmax = 2, ymin = -2, ymax = 2, grid=major, xlabel=$x$, ylabel=$y$]
\addplot +[no markers,
raw gnuplot,
contour prepared,
] gnuplot {
set samples 50, 50;
set isosamples 51, 51;
set contour base;
set cntrparam levels incremental -4,0.25,4;
set style data lines;
splot [-2:2] [-2:2] 0.2*x**5 - 0.25*x**4 + 0.5*y**2;
};
\end{axis}
\end{tikzpicture}
\end{document}
它的输出有非常混乱的标签:
我有一个想法可以把它清理干净:使用colorbar
,其中线条颜色由其轮廓图级别决定(因此,不是其 y 轴值)。查看手册pgfplots
,我不清楚如何选择确定颜色的值作为轮廓图 z 值(编辑:嗯,point meta
似乎是这样,但这是我目前所知道的全部)。我该怎么做?
如果我能弄清楚发生了什么,那么以下问题及其答案似乎是相关的:pgfplots colorbar 的映射网格颜色
答案1
我不知道为什么,但colorbar
会自动访问 z 值(我猜,是轮廓图附带的元点?)。因此,关闭标签,并像往常一样使用颜色条命令,就可以让一切按我想要的方式运行:
\documentclass[12pt,letterpaper]{article}
\usepackage{lmodern}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[view={0}{90}, clip = false, xmin = -2, xmax = 2, ymin = -2, ymax = 2, grid=major, xlabel=$x$, ylabel=$y$, colorbar, point meta min = -4, point meta max = 3]
\addplot +[no markers,
raw gnuplot,
contour prepared, contour/labels=false,
] gnuplot {
set samples 50, 50;
set isosamples 51, 51;
set contour base;
set cntrparam levels incremental -4,0.25,4;
set style data lines;
splot [-2:2] [-2:2] 0.2*x**5 - 0.25*x**4 + 0.5*y**2;
};
\end{axis}
\end{tikzpicture}
\end{document}
我希望有人可以进一步解释一下!