带逗号的符号坐标

带逗号的符号坐标

如何使用symbolic x coords={}逗号作为小数点分隔符?

例如,我需要使用symbolic x coords={0,1.5,1.3},这样可以将句号作为小数分隔符。使用 则use comma不会产生效果(逻辑上如此,因此我对此没有任何异议)。

最小工作示例:

\documentclass[border=2pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
    symbolic x coords={0,1.5,1.3},
    xtick=data,
    /pgf/number format/.cd,
    use comma,
]
    \addplot coordinates {
        (0, 1)
        (1.5, 2)
        (1.3, 1)
    };
\end{axis}
\end{tikzpicture}
\end{document}

答案1

事实上,PGFplots 认为符号坐标是文本字符串,因此它不应用数字格式选项。要解决此问题,您可以设置xticklabel=\pgfmathprintnumber{\tick},它将字符串输入数字解析器并相应地格式化它们:

\documentclass[border=2pt]{standalone}
\usepackage[utf8]{inputenc}
\usepackage{pgfplots}

\begin{document}
\begin{tikzpicture}
\begin{axis}[
    symbolic x coords={0,1.5,1.3},
    xtick=data,
    /pgf/number format/.cd,
    use comma,
    xticklabel=\pgfmathprintnumber{\tick}
]
    \addplot coordinates {
        (0, 1)
        (1.5, 2)
        (1.3, 1)
    };
\end{axis}
\end{tikzpicture}
\end{document}

相关内容