我尝试使用以下代码绘制点 (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}