我想使用 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。
然而,我得到了错误的情节:
我有两个问题:
- 我错过了什么?
- 有没有办法让 x 刻度标签位于轴上方而不是下方?
答案1
您有
xtick={-0.25,...,+1}
,这意味着您将获得间隔 的刻度1
,从 开始-0.25
,到 结束1
。换句话说,在 处有一个刻度-0.25
,在 处有一个刻度0.75
。删除...
。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}