![如何在图表上画角度](https://linux22.com/image/445063/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%9B%BE%E8%A1%A8%E4%B8%8A%E7%94%BB%E8%A7%92%E5%BA%A6.png)
所以我尝试了各种方法。\scope
似乎将我的图表移到一边,就像使用一样tikz-euclide
,而不是在我的图表上绘制。
\begin{tikzpicture}
\begin{axis}[xlabel={$x$}, ylabel={$z$}, axis equal, xticklabels={,,}, yticklabels={,,},axis x line=middle, axis y line=
middle, ymin=-1, xmin=-1]
\addplot[mark=none,solid, color=black]{x};
\addplot[mark=none,solid, color=black, domain=0:(4/(1+cot(deg((3*pi)/8))))]{4-x*cot(deg((3*pi)/8))};
\coordinate (A) at (0,1);
\coordinate (B) at (0,0);
\coordinate (C) at (1,1);
\pic [draw,-, black, angle eccentricity=1.2,"$\theta$"] {angle = (A)--(B)--(C)};
\end{axis}
\end{tikzpicture}
使用\pic
是我所知道的在环境中制作角度的唯一方法tikzpicture
,但是由于某种原因,LaTeX 无法识别 (B)。我使用的软件包是:
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{pgfplots}
\usepackage{tikz}
\usetikzlibrary{angles,quotes}
我希望生成一个相对于 x 轴和直线 z=x 的角度 theta
答案1
你用angle
\pic
错了,应该只是坐标名称,没有括号。即
\pic [draw,-, black, angle eccentricity=1.2,"$\theta$"] {angle = C--B--A};
我还交换了那里的顺序以获得第一象限中的角度。
您还需要将compat
版本设置为 1.11 或更高版本(例如\pgfplotsset{compat=1.11}
),以使规范生效。否则,在、等\coordinate
中使用的坐标将不会被解释为在坐标系中。\coordinate
\draw
\path
axis
\documentclass{standalone}
\usepackage{pgfplots}
\usetikzlibrary{angles,quotes}
\pgfplotsset{compat=1.18}
\begin{document}
\begin{tikzpicture}
\begin{axis}[xlabel={$x$}, ylabel={$z$}, axis equal, xticklabels={,,}, yticklabels={,,},axis x line=middle, axis y line=
middle, ymin=-1, xmin=-1]
\addplot[mark=none,solid, color=black]{x};
\addplot[mark=none,solid, color=black, domain=0:(4/(1+cot(deg((3*pi)/8))))]{4-x*cot(deg((3*pi)/8))};
\coordinate (A) at (0,1);
\coordinate (B) at (0,0);
\coordinate (C) at (1,1);
\pic [draw,-, black, angle eccentricity=1.2,"$\theta$"] {angle = C--B--A};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
试试这个代码:
\documentclass[tikz,border=.5cm]{standalone}
\begin{document}
\begin{tikzpicture}[scale=3]
\draw[brown!15] (-1,-1) grid[step=.2] (3,2);
\draw[gray!35] (-1,-1) grid (3,2);
\draw[-latex] (-1,0) -- (3,0) node[right] {$x$};
\draw[-latex] (0,-1) -- (0,2) node[above] {$y$};
\node at (-.1,-.1) (o) {$O$};
\node at (1,-.1) (o) {$1$};
\node at (-.1,1) (o) {$1$};
\draw[blue,line width=2pt] (0,0)--(3,1.732); % 3*tan(30°)=1.732
\draw[red] (1,0) arc (0:30:1);
\node[red] at (1.1,.25) {$\theta$};
\end{tikzpicture}
\end{document}