在范围定义中转变如何起作用?

在范围定义中转变如何起作用?

我添加了一段代码;我想将填充的半圆从 (0,0) 移到 (0,1),但我必须将其移到 (-5.5,-4.5)。它给了我想要的结果,但我宁愿知道我做错了什么以及如何修复它,而不是使用变通方法。

任何建议将不胜感激。

begin{tikzpicture}[scale=0.75,cap=round,>=latex,baseline=(current bounding box.north)]
\begin{axis}[
  axis background/.style={fill=white},
  width=1.0\linewidth,
  axis lines=middle,
  grid=both,
  %axis equal,
  axis equal image,
  grid style={very thin,cyan!50},
  ymin=-5.5,
  ymax=5.5,
  %ytick=\empty,
  ytick={-5,-4,...,5},
  xmin=-5.5,
  xmax=5.5,
  %xtick=\empty,
  xtick={-5,-4,...,5},
  %xticklabels={},
  yticklabels={$\ds -5i$,$\ds -4i$,$\ds -3i$,$\ds -2i$,$\ds -i$,$\ds 0$, $\ds i$,$\ds 2i$,$\ds 3i$,$\ds 4i$,$\ds 5i$},
  xlabel=$\cal R$,
  ylabel=$\cal I$,
  %xticklabel={\pgfmathprintnumber{\tick}:00},
  %xticklabel style={rotate=0,anchor=north east}
  ]

    \draw [blue,thick,dashed] (0,1) circle[radius=1];   
    \addplot [->,blue, domain=-3.7:2.5, samples=500,thick,<->] {x*sqrt(3)+1};
    \begin{scope}[shift={(-5.5,-4.5)}]
    \fill[blue!40,opacity=0.25] (60:0) coordinate (beta) arc (60:-120:0) coordinate (alpha) -- (-120:1) arc (-120:60:1) -- cycle; 
    \end{scope}
    \draw [black] (0,0) circle[radius= 0.3 em];     
\end{axis}
\end{tikzpicture}

答案1

问题是坐标(0,1)没有您期望的分量(就 pgf 分量而言)。您需要减去原点的 pgf 坐标。以下使用 执行此操作calc。这不是唯一的方法,也不是最短的(最短的可能是shift={(axis direction cs:0,1)} Henri Menke 建议),但这也许是最具教育意义的方法,因为从语法中您会看到我们通过坐标(0,1)和之间的差异进行移动(0,0)(其中(0,0)具有非平凡的 pgf 分量)。您还有一个半径为 0 的圆弧,我将其删除,对于线性图,您不需要 500 个样本。我也不知道如何\ds定义,但对于此处的问题,这并不重要,因此我使用未知宏删除了刻度。请注意,我使用版本,1.16即使1.17已经发布,因为许多 TeXLive 用户没有1.17安装。但是,这也适用于1.17

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.16}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[scale=0.75,cap=round,>=latex,baseline=(current bounding box.north)]
\begin{axis}[
  axis background/.style={fill=white},
  width=1.0\linewidth,
  axis lines=middle,
  grid=both,
  %axis equal,
  axis equal image,
  grid style={very thin,cyan!50},
  ymin=-5.5,
  ymax=5.5,
  %ytick=\empty,
  ytick={-5,-4,...,5},
  xmin=-5.5,
  xmax=5.5,
  %xtick=\empty,
  xtick={-5,-4,...,5},
  %xticklabels={},
  %yticklabels={$\ds -5i$,$\ds -4i$,$\ds -3i$,$\ds -2i$,$\ds -i$,$\ds 0$, $\ds i$,$\ds 2i$,$\ds 3i$,$\ds 4i$,$\ds 5i$},
  xlabel=$\mathcal{R}$,
  ylabel=$\mathcal{I}$,
  %xticklabel={\pgfmathprintnumber{\tick}:00},
  %xticklabel style={rotate=0,anchor=north east}
  ]

    \draw [blue,thick,dashed] (0,1) circle[radius=1];   
    \addplot [->,blue, domain=-3.7:2.5, samples=2,thick,<->] {x*sqrt(3)+1};
    \begin{scope}[shift={($(0,1)-(0,0)$)}]
    \fill[blue!40,opacity=0.25] (60:0) coordinate (beta)  
        -- (-120:1) coordinate (alpha)
        arc[start angle=-120,end angle=60,radius=1] -- cycle; 
    \end{scope}
    \draw [black] (0,0) circle[radius= 0.3 em];     
\end{axis}
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容