用符号坐标绘制点

用符号坐标绘制点

我尝试使用以下代码绘制点 (x1,C(x1)):

\begin{tikzpicture}
    \begin{axis}[
        xlabel={$x$},
        ylabel={$C$},
        axis lines=center,
        symbolic x coords={0,$x_1$, $x_2$, $x_3$, $x_4$},
        xmin={[normalized]0},
        xmax={[normalized]5},
        xtickmax={[normalized]4},
        xtick distance=1,
        symbolic y coords={0,$C(x_1)$, $C(x_2)$, $C(x_3)$,          $C(x_4)$},
        ymin={[normalized]0},
        ymax={[normalized]5},
        ytickmax={[normalized]4},
        ytick distance=1]
        \addplot [color=red,mark=*] coordinates {($x_1$,$C(x_1)$)};
    \end{axis}
\end{tikzpicture}

但它不起作用,因为语句:

\addplot [color=red,mark=*] coordinates {($x_1$,$C(x_1)$)};

是错误的。我该如何修复该错误?

包 pgfplots 错误:抱歉,输入坐标“$C(x_1' 尚未定义

预先感谢您的帮助。

答案1

问题在于解析器正在寻找)并抓取了错误的一个。此外,空格也计入符号坐标中。

\documentclass{standalone}
\usepackage{pgfplots}

\begin{document}

\begin{tikzpicture}
    \begin{axis}[
        xlabel={$x$},
        ylabel={$C$},
        axis lines=center,
        symbolic x coords={0,$x_1$,$x_2$,$x_3$,$x_4$},
        xmin={0},
        xmax={$x_4$},
        xtickmax={$x_3$},
        xtick distance=1,
        symbolic y coords={0,$C(x_1)$,$C(x_2)$,$C(x_3)$,$C(x_4)$},
        ymin={0},
        ymax={$C(x_4)$},
        ytickmax={$C(x_3)$},
        ytick distance=1]
        \addplot [color=red,mark=*] coordinates {($x_1$,0)};
        \addplot [color=green,mark=*] coordinates {(0,{$C(x_1)$})};
        \addplot [color=blue,mark=*] coordinates {($x_1$,{$C(x_1)$})};
    \end{axis}
\end{tikzpicture}

\end{document}

相关内容