Pgfplots 轮廓 gnuplot 疯狂标签

Pgfplots 轮廓 gnuplot 疯狂标签

这让我很抓狂。我试图创建一些轮廓图,但它们上面全是标签,因此无法读取!我甚至看不到线条或读取值,因为它们太多了。我只是格式化了脚本中的数字输出,因此我在这里放置的代码并不是很好。无论如何,我可以得到正确的轮廓,但我希望每条轮廓线上只有一个标签,而不是 N 个。我在 pgfplots 手册上找不到任何解决方案。这是我的代码:

\begin{tikzpicture}
    \begin{axis}
         [xlabel=$x$,
         ylabel=$y$,
         width=0.48\columnwidth,
                 view={0}{90},
                 ymin=0, ymax=70
                 ]
        \addplot3
             [contour gnuplot,
                         thick
                         ]
            coordinates {
            .....
            };
    \end{axis}
\end{tikzpicture}

我没有发布坐标,因为我的文件超过 1000 行。有什么想法吗?提前谢谢

答案1

[答案由评论转化而来]

pgfplots 的自动标签放置仅具有label distance自定义其结果的关键,如@Jake 所示(但是,初始值是70pt)。

如果每条轮廓线只希望一个标签,则可以设置contour gnuplot={label distance=10000pt}。Pgfplots 将始终生成一个标签,因此这只会禁用以下标签。

在此处输入图片描述

\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat = 1.7}
\begin{document}
\begin{tikzpicture}
    \begin{axis}[
        title={$x \exp(-x^2-y^2)$},
        domain=-2:2,enlarge x limits,
        view={0}{90},
    ]
   \addplot3[
        contour gnuplot={
            number=14,
            label distance=10000pt,
        },
        thick]
   {exp(0-x^2-y^2)*x};
    \end{axis}
\end{tikzpicture}

\end{document}

您还可以使用 禁用标签contour gnuplot={labels=false}

如果你认为结果应该以某种方式改进(例如“以某种方式移动标签”或其他),你可以在以下位置发布功能请求:http://sourceforge.net/projects/pgfplots/。在这种情况下,我希望您能添加一个完整的短语来说明预期的行为。

相关内容