PGF 绘制三元图 - 未定义的控制序列

PGF 绘制三元图 - 未定义的控制序列

我正在阅读 PGFPLOTS 手册,并从第 5.13 节三元图中复制了第一个代码示例,并将其放入 overleaf.com 上的文档中。代码如下:

\documentclass{article}
\usepackage[utf8]{inputenc}

% PGF Plots
\usepackage{pgfplots}
\pgfplotsset{compat=1.15}
\usepgfplotslibrary{ternary}

\begin{document}

\centering
\begin{tikzpicture}
\begin{ternaryaxis}
\addplot3 coordinates {
(0.81, 0.19, 0.00)
(0.76, 0.17, 0.07)
(0.66, 0.16, 0.16)
(0.76, 0.07, 0.17)
(0.81, 0.00, 0.19)
};
\addplot3 coordinates {
(0.85, 0.15, 0.00)
(0.82, 0.13, 0.05)
(0.73, 0.14, 0.13)
(0.82, 0.06, 0.13)
(0.84, 0.00, 0.16)
};
\legend{$10$\textdegree, $20$\textdegree}
\end{ternaryaxis}
\end{tikzpicture}
\end{document}

我收到两个错误,它们不会停止文档的编译,但被标记为 \end{ternaryaxis} 处的未定义控制序列。每个错误的日志输出如下:

\pgfplots@already@computed@legend@node ...tdegree 
};\\\pgfplots@show@small@l...
l.29 \end{ternaryaxis}

目前这是一个可控的问题,但如果可能的话,我希望在我深入论文并发现它可能成为一个问题之前找到解决方案。

谢谢

答案1

您的代码使用了 replace^{\circ}而不是\textdegree@marmot 的评论中提到的需要进一步封装的代码。这是添加\usepackage{amsmath,amssymb}定义\circ度数符号的另一个选项。

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{amsmath,amssymb}

% PGF Plots
\usepackage{pgfplots}
\usepgfplotslibrary{ternary}

\begin{document}

\centering
\begin{tikzpicture}
\begin{ternaryaxis}
\addplot3 coordinates {
(0.81, 0.19, 0.00)
(0.76, 0.17, 0.07)
(0.66, 0.16, 0.16)
(0.76, 0.07, 0.17)
(0.81, 0.00, 0.19)
};
\addplot3 coordinates {
(0.85, 0.15, 0.00)
(0.82, 0.13, 0.05)
(0.73, 0.14, 0.13)
(0.82, 0.06, 0.13)
(0.84, 0.00, 0.16)
};
\legend{$10^{\circ}$, $20^{\circ}$}
\end{ternaryaxis}
\end{tikzpicture}
\end{document}

相关内容