如何在图表上画角度

如何在图表上画角度

所以我尝试了各种方法。\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\pathaxis

\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}

输出: 在此处输入图片描述

相关内容