在 pgfplots 中更改自定义样式的箭头类型

在 pgfplots 中更改自定义样式的箭头类型

我尝试在 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}  

相关内容