我一直想用pgfplots
类似下图的方法来画一条抛物线。
但是,当我尝试复制这个时,x 轴总是接触所述抛物线。以下是代码(\usepackage{tikz, pgfplots}
是唯一值得关注的序言行):
\begin{figure}[htpb]
\centering
\begin{tikzpicture}
\begin{axis}[
domain=-2:5,
smooth,
axis lines=middle,
xlabel=\(x\),
ylabel=\(y\),
ticks=none,
grid=major,
scaled ticks=false,
]
\addplot[black, thick] {-x^2 + 3 * x - 12};
\end{axis}
\end{tikzpicture}
\end{figure}
编译后:
有没有办法将 x 轴定位在中间(如图所示)?
答案1
- 我稍微清理了一下你的代码,包括将选项从移动
axis
到addplot
,这对我来说似乎更直观。 - 要点:我相信你需要添加
xmin
并成为朋友来实现你的目标。 - 我还建议从带有 x/y 刻度的版本开始,以便您能看到“您所在的位置”。
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis lines = middle,
xlabel= $x$,
ylabel= $y$,
%ticks = none,
grid = major,
scaled ticks = false,
xmin = -3,
xmax = 6,
ymin = -20,
ymax = 2,
]
\addplot[
black,
thick,
domain = -2:5,
smooth,
]
{-x^2 + 3 * x - 12};
\end{axis}
\end{tikzpicture}
\begin{tikzpicture}
\begin{axis}[
axis lines=middle,
xlabel= $x$,
ylabel= $y$,
ticks = none,
grid = major,
scaled ticks = false,
xmin = -3,
xmax = 6,
ymin = -20,
ymax = 2,
]
\addplot[
black,
thick,
domain = -2:5,
smooth,
]
{-x^2 + 3 * x - 12};
\end{axis}
\end{tikzpicture}
\end{document}