用 pgfplots 绘制图及其与 x 轴的交点

用 pgfplots 绘制图及其与 x 轴的交点

我想使用 pgfplots 绘制一个简单的二次多项式并显示它与 x 轴的交点。

我正在使用这个代码:

\begin{tikzpicture}
\begin{axis}[%
axis x line=center,
axis y line=none,
xmin=-0.75,xmax=1.5,ymin=-2, ymax=0.3,
xtick={-0.25,...,+1},
xticklabels={$-\frac{1}{4}$, 1},
x tick label style={anchor=north},
]
\addplot[blue,mark=none]
plot[domain=-0.75:1.5,samples=40]
(\x,{(4*\x*\x -3*\x -1});

\end{axis}
\end{tikzpicture}

多项式为4x^2 -3x -1,其根为-1/4 和 1。

然而,我得到了错误的情节:

阴谋

我有两个问题:

  1. 我错过了什么?
  2. 有没有办法让 x 刻度标签位于轴上方而不是下方?

答案1

  1. 您有xtick={-0.25,...,+1},这意味着您将获得间隔 的刻度1,从 开始-0.25,到 结束1。换句话说,在 处有一个刻度-0.25,在 处有一个刻度0.75。删除...

  2. x tick label style={above=3pt}. 我认为这anchor=north是默认的。

还要注意,你正在混合使用pgfplots和 TikZ 语法。plot关键字(来自 TikZ)通常用作\draw plot ...。我会使用

\addplot[blue,mark=none,domain=-0.75:1.5,samples=40] {4*x^2 -3*x - 1};

代码输出

\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[%
axis x line=center,
axis y line=none,
xmin=-0.75,xmax=1.5,ymin=-2, ymax=0.3,
xtick={-0.25,1},
xticklabels={$-\frac{1}{4}$, 1},
x tick label style={above=3pt},
]
\addplot[blue,mark=none,domain=-0.75:1.5,samples=40] {4*x^2 -3*x - 1};

\end{axis}
\end{tikzpicture}
\end{document}

相关内容