在 y 轴下方打印标题

在 y 轴下方打印标题

我有一张两条线的图。在 y 轴下方,以 y 轴为中心,我想将“在 $e=f=1$ 情况下的线图”放在一个框中。“在 $e=f=1$ 情况下的线图”位于“在 $e=f=1$ 情况下的线图”上方。以下是代码。

\documentclass[10pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{calc,angles,positioning,intersections,quotes,decorations.markings}
\usepackage{mathtools,array}

\usepackage{tkz-euclide}
\usetkzobj{all}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}



\begin{document}
\noindent \hspace*{\fill}
\begin{tikzpicture}
\begin{axis}[width=5in,axis equal image,
    axis lines=middle,
    xmin=-8,xmax=8,samples=201,
    xlabel=$x$,ylabel=$y$,
    ymin=-5,ymax=6,
    restrict y to domain=-5:6,
    enlargelimits={abs=0.5cm},
    axis line style={latex-latex},
    ticklabel style={font=\tiny,fill=white},
    xtick={\empty},ytick={\empty},
    extra x ticks={2},
    extra x tick labels={$2$},
    extra y ticks={-1},
    extra y tick labels={$-1$},
    xlabel style={at={(ticklabel* cs:1)},anchor=north west},
    ylabel style={at={(ticklabel* cs:1)},anchor=south west}
]
\addplot[latex-latex,samples=201,domain=-8:8,blue] {-0.6 * x  + 0.2} node[anchor=south west, pos=0.75,font=\footnotesize]{$3x + 5y = 1$};
\addplot[latex-latex,samples=201,domain=-8:8,purple] {(-2/3) * x + 1/3} node[anchor=south west, pos=0.1,font=\footnotesize]{$2x + 3y = 1$};
\draw [fill] (2,-1) circle [radius=1.5pt] node[anchor=north east,font=\tiny]{$(2, \, -1)$};
\end{axis}
\end{tikzpicture}
\hspace*{\fill}


\end{document}

答案1

不确定我是否正确理解了您的问题,但您可以使用命令提供额外的文本框。您可以放置​​参考内部坐标系\node的节点,可以通过图形左下角等于 的位置访问该节点。pgfplots(axis description cs:x-coordinate,y-coordinate)(0,0)

将 添加到图表后,node由于轴被剪裁,文本框会在下部被截断。您可以通过将选项传递clip=falseaxis-environment 来避免这种情况。此外,我删除了\hspace*{\fill}文档开头和结尾的 。

这是我得到的:

\documentclass[10pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{calc,angles,positioning,intersections,quotes,decorations.markings}
\usepackage{mathtools,array}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}

\begin{document}
\begin{tikzpicture}
\begin{axis}[width=5in,axis equal image,
    axis lines=middle,
    xmin=-8,xmax=8,samples=201,
    xlabel=$x$,ylabel=$y$,
    ymin=-5,ymax=6,
    restrict y to domain=-5:6,
    enlargelimits={abs=0.5cm},
    axis line style={latex-latex},
    ticklabel style={font=\tiny,fill=white},
    xtick={\empty},ytick={\empty},
    extra x ticks={2},
    extra x tick labels={$2$},
    extra y ticks={-1},
    extra y tick labels={$-1$},
    xlabel style={at={(ticklabel* cs:1)},anchor=north west},
    ylabel style={at={(ticklabel* cs:1)},anchor=south west},
    clip=false  %prevent axis to clip "picture area" (otherwise text box will be cut off)
]
\addplot[latex-latex,samples=201,domain=-8:8,blue] {-0.6 * x  + 0.2} node[anchor=south west, pos=0.75,font=\footnotesize]{$3x + 5y = 1$};
\addplot[latex-latex,samples=201,domain=-8:8,purple] {(-2/3) * x + 1/3} node[anchor=south west, pos=0.1,font=\footnotesize]{$2x + 3y = 1$};
\draw [fill] (2,-1) circle [radius=1.5pt] node[anchor=north east,font=\tiny]{$(2, \, -1)$};
% add a node to provide a text box, use draw option to get a border line and align option to make \\ useable
\node[draw, align=center] at (axis description cs:0.5,-0.1) {Graph of lines \\ in the case $e=f=1$};
\end{axis}
\end{tikzpicture}

\end{document}

输出

-- 根据评论进行编辑:

由于draw传递给命令的选项,边界框被绘制。您可以通过传递给aswell 来\node将字体更改为 footnotesize ,这将导致font={\footnotesize}\node

\node[draw, align=center, font={\footnotesize}] at (axis description cs:0.5,-0.1) {Graph of lines \\ in the case $e=f=1$};

clip选项会影响图表“容器”的边框。由于默认设置,太靠近边框的节点将被切断clip=true,因此通常无需指定。但是,clip=false会扩展“容器”,因此靠近边框的节点不会被切断。图表的图例也不会被切断。在这种情况下,“容器”的边框会自动扩展。包含所需文本的节点更可能是附加注释或评论,而不是图例或标题。

要将框添加到包含坐标的节点,(2, -1)您只需将其传递draw给节点的选项。因此,此行将是:

\draw [fill] (2,-1) circle [radius=1.5pt] node[draw, anchor=north east,font=\tiny]{$(2, \, -1)$};

总而言之,编辑给定的两行后,输出如下所示:

带有附加边界框和 footnotsize 字体的输出

相关内容