![使用 pgfplots 获取与使用 TikZ 相同的角度标记](https://linux22.com/image/303003/%E4%BD%BF%E7%94%A8%20pgfplots%20%E8%8E%B7%E5%8F%96%E4%B8%8E%E4%BD%BF%E7%94%A8%20TikZ%20%E7%9B%B8%E5%90%8C%E7%9A%84%E8%A7%92%E5%BA%A6%E6%A0%87%E8%AE%B0.png)
我正在使用 pgfplots 绘制相交线。这些相交线组成三个直角三角形 - 其中两个在第三条线上。我试图通过使用命令和所做的标记来标记较小直角三角形中的两对相等锐角,TikZ
并且\tkzMarkAngle[size=0.5cm,mark=|](B,A,P);
我\tkzMarkAngle[size=0.5cm,mark=||](A,B,P);
试图通过使用TikZ
命令所做的相同标记来标记任何直角\tkzMarkRightAngle(A,P,B);
。如何在以下代码中标记相等锐角?与不同TikZ
,我知道必须手动制作直角标记。由所做的直角标记的每一边的长度是多少TikZ
?(我有直角三角形的图表 - 未在坐标轴上绘制 -TikZ
在其他页面上使用绘制;我希望我必须手动制作的直角标记与绘制的直角标记相同TikZ
。)
\documentclass[10pt]{amsart}
\usepackage{tikz}
\usetikzlibrary{calc,angles,positioning,intersections,quotes,decorations.markings}
\usepackage{mathtools,systeme,array}
\usepackage{tkz-euclide}
\usetkzobj{all}
\usepackage{pgfplots}
\pgfplotsset{compat=1.11}
\begin{document}
\noindent \hspace*{\fill}
\begin{tikzpicture}
\begin{axis}[width=6in,axis equal image,clip=false,
axis lines=middle,
xmin=-5,xmax=10,samples=501,
xlabel=$x$,ylabel=$y$,
ymin=-8,ymax=11,
restrict y to domain=-8:11,
enlargelimits={abs=0.25cm},
axis line style={latex-latex},
ticklabel style={font=\tiny,fill=white},
xtick={\empty},ytick={\empty},
xlabel style={at={(ticklabel* cs:1)},anchor=north west},
ylabel style={at={(ticklabel* cs:1)},anchor=south west}
]
\addplot[samples=501, latex-latex,domain=-5:10,blue] {x + 1} node[anchor=north west,pos=0.9,font=\footnotesize]{$y = mx + b$};
\addplot[samples=501, latex-latex,domain=-5:10,blue] {3 - x} node[anchor=south west,pos=0.9,font=\footnotesize]{$y = m^{\prime}x + b^{\prime}$};
\addplot [dashed, latex-latex,domain=-21:21] (6,x) node [pos=0.1, anchor=north, font=\footnotesize, sloped]{$x=x_{\circ}$};
\addplot [dashed, domain=1:6] {2};
(1,2) coordinate (B);
\draw [fill] (1,2) circle [radius=1.5pt] node[label=above:$B$]{};
(6,-3) coordinate (A);
\draw [fill] (6,-3) circle [radius=1.5pt] node[label=right:$A$]{};
(6,7) coordinate (C);
\draw [fill] (6,7) circle [radius=1.5pt] node[label=right:$C$]{};
(6,2) coordinate (P);
\draw [fill] (6,2) circle [radius=1.5pt] node[label=right:$P$]{};
\end{axis}
\end{tikzpicture}
\hspace{\fill}
\vskip0.25in
\end{document}
答案1
使用tzplot
:
\documentclass[tikz]{standalone}
\usepackage{tzplot}
\begin{document}
\begin{tikzpicture}[scale=.6,font=\scriptsize]
%\tzhelplines(-5,-8)(10,10)
\tzaxes(-5,-8)(11,11){$x$}[br]{$y$}[ar]
\def\Fx{1+\x}
\def\Gx{3-\x}
\tzfn[blue,<->]\Fx[-5:10]{$y=mx+b$}[b=1cm]
\tzfn[blue,<->]\Gx[-5:10]{$y=m'x+b'$}[a=1cm]
\tzXpoint*{Fx}{Gx}(B){$B$}
\tzvfnat[dashed,<->]"vline"{6}[-8:10]{$x=x^\circ$}[sloped,b,pos=.1]
\tzXpoint*{Fx}{vline}(C){$C$}[0]
\tzXpoint*{Gx}{vline}(A){$A$}[0]
\tzcoor*($(A)!(B)!(C)$)(P){$P$}[0]
\tzline[dashed](B)(P)
% angle marks
\tzrightanglemark[thin](C)(B)(A)(30pt)
\tzanglemark*[red](C)(B)(P)
\tzanglemark'[double](A)(B)(P)(20pt)
\tzrightanglemark(B)(P)(C)(15pt)
\tzrightanglemark*[blue](A)(P)(B)(15pt)
\end{tikzpicture}
\end{document}