半圆不接触轴,以 (0,0) 形式标记原点 - pgfplots

半圆不接触轴,以 (0,0) 形式标记原点 - pgfplots

我画了一个以原点为中心、半径为 1 的上半圆,但半圆在 $x = 1$ 处未与 x 轴相切,而是留下了空隙。但它似乎在 $x = -1$ 处相切。

我还想删除所有 x 轴刻度标记和数字,而是在原点绘制一个点并在其下方标记为 (0,0)。

\documentclass{article}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{latexsym}
\usepackage{amsmath}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat = newest}
\usetikzlibrary{decorations.markings}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
    axis x line = middle,
    axis y line = none,
    axis line style = {-},
    height = {8.5cm},
    width = {12cm},
    xtick={0},
]
\addplot [
    domain=-1:1, 
    samples=800, 
    color=black,
]
{(1-x^2)^0.5};

\addplot [only marks,samples at={0}] {0};
\end{axis}
\end{tikzpicture}

\end{document}

我调整了高度和宽度以使其比例正确,认为这可能会使半圆接触轴,但它不起作用。

如何让半圆在 1 和 -1 处接触 x 轴?如何删除 x 轴上的 0 和垂直刻度标记,并在其下方绘制一个带有标签 (0,0) 的点?

答案1

尝试一下这个 MWE:

\documentclass{article}
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}[scale=4]
        \draw[cyan] (1,0) arc (0:180:1);
        \draw[cyan] (-1,0)--(1,0);
        \draw[cyan] (0,0.1)--(0,0);
        \node[below] at (0,0) {$(0,0)$};
    \end{tikzpicture}
    
\end{document}

在此处输入图片描述

编辑:在(0,0)处绘制中心:

\documentclass{article}
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}[scale=4]
        \draw[cyan] (1,0) arc (0:180:1);
        \draw[cyan] (-1,0)--(1,0);
        %\draw[cyan] (0,0.1)--(0,0);
        \filldraw[black] (0,0) circle(.5pt);
        \node[below] at (0,0) {$(0,0)$};
    \end{tikzpicture}
    
\end{document}

在此处输入图片描述

EDIT1:如果你想要一个半圆内的内接矩形,你可以编码:

\documentclass{article}
\usepackage{tikz}
\begin{document}
    \begin{tikzpicture}[scale=4]
        \draw[cyan] (1,0) arc (0:180:1);
        \draw[cyan] (-1,0)--(1,0);
        %\draw[cyan] (0,0.1)--(0,0);
        \filldraw[black] (0,0) circle(.5pt);
        \draw[magenta,line width=2pt] (-.3,0) rectangle (.3,{sqrt(1-.3^2)});
        \node[below] at (0,0) {$(0,0)$};
    \end{tikzpicture}
\end{document}

输出如下:

在此处输入图片描述

答案2

如果我正确理解了你的问题,那么添加enlargelimits=false选项axis可以解决你的问题:

\documentclass[margin=3.141592]{standalone}%{article}
\usepackage{amssymb}
\usepackage{latexsym}
\usepackage{amsmath}
\usepackage{pgfplots}   % it load tikz too
\pgfplotsset{compat = 1.18}  % better than use {compat = newest}
\usetikzlibrary{decorations.markings}

\begin{document}

\begin{tikzpicture}
\begin{axis}[
    width = {12cm},
    axis equal,             % <--- new
    enlargelimits=false,    % <--- new   
    axis x line = middle,
    axis y line = none,
    axis line style = {-},
    xtick={0},
]
\addplot [
    domain=-1:1,
    samples=101,
]
{(1-x^2)^0.5};

%\addplot [only marks,samples at={0}] {0};
\end{axis}
\end{tikzpicture}

\end{document}

在此处输入图片描述

编辑: 显然你的问题不是你问的问题,而是简单的如何以任何方式绘制半圆。这意味着你的问题具有误导性...无论如何,使用tikz图像代码可以非常简短和简单:

\documentclass[margin=3.141592]{standalone}%{article}
\usepackage{tikz}

\begin{document}
    \begin{tikzpicture}
% rectangle
\draw[red, very thick] (-1.2,0) rectangle (1.2,{sqrt(4^2-1.2^2)});
% arc+dot
\draw       (0,0) -- (4,0) arc (0:180:4) -- cycle;
\filldraw   (0,0) circle(2pt) node[below] {$(0,0)$};
        \;
    \end{tikzpicture}
\end{document}

其中arc (0:180:4)是 的缩写arc [start angle=0, end angle=180, radius=4cm]。有关详细信息,请参阅 TiZ 和 PGF 手册,第一个教程。

在此处输入图片描述

相关内容