我画了一个以原点为中心、半径为 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]
。有关详细信息,请参阅 Ti钾Z 和 PGF 手册,第一个教程。