我绘制了表格数据,其中所有数据的 y 值均不超过 1.0。然而,在结果图中,有几个峰值超过了 1.0,给人对这些数据点的错误印象:
当我使用标记绘图时,这并不可见,但我需要使用“无标记”,因为否则它会太忙(小图中有 80 个点)。
我该如何预防?
更新:根据杰克 (Jake) 的要求,这里有一个显示所描述行为的最小示例:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{figure}[ht]
\begin{tikzpicture}
\begin{axis}[no markers, grid=major]
\addplot coordinates{(0, 0.0000000000)
(1, 0.8823529412)
(2, 0.8750000000)
(3, 1.0000000000)
(4, 0.8666666667)
(80, 0.0000000000)}[thick];
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}
当我不把线条弄粗时,问题就不那么明显了,但问题仍然存在(而我想要粗线条)。
答案1
有几种方法可以避免这种情况:您可以通过向轴或各个图提供选项来告诉所有pgfplots
角使用圆角或斜角,或者您可以使用降低连接类型从斜接变为斜接的阈值(默认值为 10)。line join=round
line join=bevel
miter limit=<value>
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{figure}[ht]
\begin{tikzpicture}
\begin{axis}[no markers,grid=major,every axis plot post/.append style={thick}]
\addplot coordinates{(0, 0.0) (0, 0.9) (1, 0.9) (2, 1) (3, 0.9) (80, 0)};
\addplot +[line join=round] coordinates{(0, 0.0) (0, 0.9) (2, 0.9) (3, 1) (4, 0.9) (80, 0)};
\addplot +[line join=bevel] coordinates{(0, 0.0) (0, 0.9) (3, 0.9) (4, 1) (5, 0.9) (80, 0)};
\addplot +[miter limit=5] coordinates{(0, 0.0) (0, 0.9) (4, 0.9) (5, 1) (6, 0.9) (80, 0)};
\end{axis}
\end{tikzpicture}
\end{figure}
\end{document}