这让我很抓狂。我试图创建一些轮廓图,但它们上面全是标签,因此无法读取!我甚至看不到线条或读取值,因为它们太多了。我只是格式化了脚本中的数字输出,因此我在这里放置的代码并不是很好。无论如何,我可以得到正确的轮廓,但我希望每条轮廓线上只有一个标签,而不是 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/。在这种情况下,我希望您能添加一个完整的短语来说明预期的行为。