我想从包含十六进制数(代表整数)的外部文本文件绘制图表,例如0x8210
4 列。它似乎pgfplot
不能自动识别十六进制数。我知道可以将十六进制数转换为十进制数,例如,使用lua
。lualatex
有没有办法在不使用 的情况下将十六进制数转换为十进制数或在绘图前设置输入数字格式lua
?
答案1
PGF 数学解析器可以理解十六进制数。但是,\addplot table
它不一定将数学解析器应用于输入数字(它只是尝试读取十进制数)。
为了激活内的数学解析器\addplot table
,您可以使用y expr
及其变体:
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
minor y tick num=1,
]
\addplot+[nodes near coords] table[x=x,y expr=\thisrow{y}] {
x y
0 0x8
1 0xA
2 0xF
3 0x10
};
\end{axis}
\end{tikzpicture}
\end{document}