我发现很奇怪,第一张图片第一象限中的点https://tex.stackexchange.com/a/310508/132405与原点不对齐(红线没有经过红点):
代码(来自 Torbjørn T.)是:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis} [
axis lines = {center},
width = {0.6\linewidth},
ylabel = {$y$},
xlabel = {$x$},
ytick distance = {2},
minor y tick num = {1}
]
\addplot [
mark = x, domain= -3:4
]
{abs(x)};
\end{axis}
\end{tikzpicture}
\end{document}
该代码是正确的,但是显示了错误。
如果我们仔细观察,我们会发现 y 轴上 0 和 1 之间的距离小于 y 轴上 1 和 2 之间或 2 和 3 之间的距离:请参见下图中的石灰线(所有线的高度均相同):
放大原点:
点(x 标记)必须位于棕色线上。
有解决方法吗?我读到https://github.com/pgf-tikz/pgfplots/issues/400#issuecomment-893904915维护者几乎不活跃。
在等待软件包修复的过程中,我们如何知道这个严重的错误何时发生(对于绘图工具来说,这是一个严重的错误)以及用什么来代替?
答案1
这不是一个错误,只是一个误解 ;-)。在这种情况下,打印点的值的技巧非常有用;在手册中搜索和point meta
。nodes near coords
但基本思路是这样的:
\documentclass{article}
\usepackage{pgfplots}\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis} [
axis lines = {center},
width = {0.6\linewidth},
ylabel = {$y$},
xlabel = {$x$},
ytick distance = {2},
minor y tick num = {1}
]
\addplot [
mark = x, domain= -3:4,
nodes near coords, point meta=y,
nodes near coords style={color=red, font=\tiny, anchor= east},
]
{abs(x)};
\end{axis}
\end{tikzpicture}
\end{document}
这使:
很明显发生了什么:的最小值y
是 0.0833,这是x
轴所在的位置,如手册第 273 页所述:
顺便说一句,texdoc pgfplots
显示“修订版 1.18.1(2021/05/15)”,因此它维护得很好(尽管如果您不使用密钥,compat
您要求的是旧的实现,正如警告告诉您的那样)。