我正在阅读 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}