我正在尝试让以下情节发挥作用
\documentclass[a4paper,10pt]{standalone}
\usepackage{pgfplots,tikz}
\pgfplotsset{compat=1.6}
\begin{document}
\begin{tikzpicture}
\begin{semilogyaxis}[%
scale only axis,
xmin=0, xmax=14,
xlabel={Iterations},
ymin=-0.747366157054232, ymax=-0.627152206833444,
yminorticks=true,
ylabel={Values $g(x)$}
]
\addplot [
color=blue,
solid
]
table{
1 -0.627152206833444
2 -0.727653418778865
3 -0.744147940956529
4 -0.74683810473197
5 -0.747279463520111
6 -0.747351895087422
7 -0.747363807639291
8 -0.747365769422513
9 -0.747366093009514
10 -0.747366146462357
11 -0.747366155305526
12 -0.747366156770711
13 -0.747366157013831
14 -0.747366157054232
};
\end{semilogyaxis}
\end{tikzpicture}%
\end{document}
问题是我收到了错误信息
! 包 pgfplots 警告:当前图没有坐标(或所有坐标已被过滤掉)
我认为这与非常接近的数值和对数尺度的组合有关。(使用法线轴可以很好地编译该图)
有什么方法可以让情节发挥作用吗和对数尺度?' Nw
答案1
发生这种情况的原因是您的图中只有负 y 值,而对数未针对负值进行定义。您可以反转数据的符号以使对数图起作用,但对于此数据集,图不会变得更清晰(渐近线附近的值只会被推得更近)。