提供的代码指示 TikZ 绘制 y = (x^{2} - 4)/(x + 2) 的图形。需要进行一些修改。该图形看起来像直线 y = x - 2。如何获取此函数图形两端的箭头?
如何让 x 轴上的标签 $x$ 位于右箭头的下方稍右处,如何让 y 轴上的标签 $y$ 位于上箭头的上方稍右处?如何让刻度标记“-2”排版在scriptstyle
一个白色框中 - 我不想在它上面画出点 (-2,0) 和 (-2,-4) 之间的虚线。如何缩短 y 轴?它画得太低了。
我在代码中为轴指定了两个命令:xmax=8,ymax=7
和restrict y to domain=-7:10
。它们指示 TikZ 绘制什么?为什么没有xmin
和ymin
命令?
\documentclass[10pt]{amsart}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsthm}
\begin{document}
\hspace*{\fill}
\begin{tikzpicture}
\begin{axis}[axis equal image,
xmax=8,ymax=7,
axis lines=middle,
restrict y to domain=-7:7,
enlargelimits={abs=1cm},
axis line style={latex-latex},
ticklabel style={fill=white},
ytick=\empty,
xtick={-2}
%xlabel=$x$,ylabel=$y$,
]
\addplot[domain=-10:10,mark=none,samples=10] {x - 2} node [above left, yshift=3pt]{$\scriptstyle{y}=\frac{x^{\scriptscriptstyle{2}} - 4}{x + 2}$};
\draw [thin,dashed] (-2,0) -- (-2,-4);
\draw [fill=white] (-2,-4) circle [radius=1.5pt] node[left]{$\scriptstyle{(-2, \, -4)}$};
\end{axis}
\end{tikzpicture}
\hspace{\fill}
\end{document}
答案1
你现在一定已经明白了这一点,但以防其他人看到这一点并感到疑惑。
- 箭头:本质上与轴使用的方法相同,添加
<->
到\addplot
选项中。 轴标签的位置:使用以下方式更改锚点
xlabel style={anchor=north west}, ylabel style={anchor=south west}
- 刻度标签字体大小:添加
font=\scriptsize
到ticklabel style
。 - 线下勾选标签:简单的方法就是添加
axis on top
到axis
选项中。 xmin
/ymin
:我不明白为什么你说这些键不存在。它们确实存在。设置ymin
就是你如何缩短 y 轴。restrict y to domain
:我认为它确实做到了它所说的,它过滤掉了给定域之外的 y 值。
\documentclass[10pt]{amsart}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
axis on top, % added
axis equal image,
xmax=8,ymax=7,
xmin=-3,ymin=-4,
axis lines=middle,
restrict y to domain=-7:7,
enlargelimits={abs=1cm},
axis line style={latex-latex},
ticklabel style={fill=white,font=\scriptsize}, % added font
ytick=\empty,
xtick={-2},
xlabel=$x$,ylabel=$y$,
xlabel style={anchor=north west}, % added
ylabel style={anchor=south west}, % added
]
\addplot[domain=-10:10,mark=none,samples=10,<->] {x - 2} node [above left, yshift=3pt]{$\scriptstyle{y}=\frac{x^{\scriptscriptstyle{2}} - 4}{x + 2}$};
\draw [thin,dashed] (-2,0) -- (-2,-4);
\draw [fill=white] (-2,-4) circle [radius=1.5pt] node[left]{$\scriptstyle{(-2, \, -4)}$};
\end{axis}
\end{tikzpicture}
\end{document}