我尝试在 pgfplots 中为我的图定义自定义样式
\documentclass[a4paper,12pt]{article}
\usepackage{fontspec}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
%custom style
\pgfplotsset{
mycustomstyle axis/.style={
axis line style={->},
axis lines=middle,
xlabel=$x$,
xlabel style={at=(current axis.right of origin), anchor=west},
ylabel=$f(x)$,
ylabel style={at=(current axis.above origin), anchor=south},
}
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
mycustomstyle axis,
width=7cm,
height=7cm,
xtick={1,4},
ytick={1,2},
xticklabels={$x_0$,$x_1$},
yticklabels={$f(x_0)$,$f(x_1)$},
xmin=0,
xmax=5,
ymin=0,
ymax=2.5,
clip = false
]
\addplot[blue,mark=none,domain=0.75:4.2,samples=100, thick]{-5/12*x^2 +x*29/12 -1};
\end{axis}
\end{tikzpicture}
\end{document}
从下图可以看出,除了箭头没有改变外观外,其他功能均正常。我该如何解决这个问题?
答案1
axis lines=middle
更改和的按键顺序axis line style={->}
。这应该可以解决箭头问题。
此外,尽管您没有在问题中提到这一点,但由于您指定了axis lines=middle
,因此您还必须指定一个min
低于 0 的,以使此设置生效(即轴线在 0 处相交)。如果两个轴的最小值均为 0,并且 0 是它们相交的位置,那么它们将不会显示任何“交点”。
输出
代码
\documentclass[a4paper,12pt]{article}
\usepackage{fontspec}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.12}
%custom style
\pgfplotsset{
mycustomstyle axis/.style={
axis lines=middle,
axis line style={->},
xlabel=$x$,
xlabel style={at=(current axis.right of origin), anchor=west},
ylabel=$f(x)$,
ylabel style={at=(current axis.above origin), anchor=south},
}
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
mycustomstyle axis,
width=7cm,
height=7cm,
xtick={1,4},
ytick={1,2},
xticklabels={$x_0$,$x_1$},
yticklabels={$f(x_0)$,$f(x_1)$},
xmin=-5,
xmax=5,
ymin=-2.5,
ymax=2.5,
clip = false
]
\addplot[blue,mark=none,domain=0.75:4.2,samples=100, thick]{-5/12*x^2 +x*29/12 -1};
\end{axis}
\end{tikzpicture}
\end{document}