나는 원을 그리고 다음과 같이 그 위에 몇 가지 점을 표시하려고 합니다.
\begin{tikzpicture}
\draw (2,2) circle (2cm);
\fill[black!100!] (1,0.25) circle (0.10cm);
\fill[black!100!] (4,2) circle (0.10cm);
\fill[black!100!] (2.4,3.97) circle (0.10cm);
\fill[red!100!] (2,2) circle (0.10cm);
\node at (0.5,-0.25) {$(x_1,y_1)$};
\node at (5,2) {$(x_2,y_2)$};
\node at (2.4,4.57) {$(x_3,y_3)$};
\node at (2,1.5) {$(a_1,a_2)$};
\end{tikzpicture}
이것은 다음과 같습니다.
나는 이 게시물을 발견했을 때 플롯된 점을 기준으로 모든 단일 점의 위치를 수동으로 파악하지 않고도 노드에 레이블을 지정하는 더 간단한 방법을 찾고 있었습니다.단일 좌표에 라벨 지정(pgfplots). pgf 플롯을 사용하려고 시도했을 때 점에 쉽게 레이블을 지정할 수 있었지만 표시된 다른 축과 플롯을 제거할 수는 없었습니다. 이를 수행하는 더 깨끗한 방법이 있습니까?
답변1
- 극좌표계를 사용하면 원 위치 지정과 라벨 지정을 간단하게 정의할 수 있습니다.
- 원을 그리는 대신 옵션별로 쉽게 라벨을 지정할 수 있는 노드를 사용하는 것이 좋습니다
label
.
\documentclass[tikz, margin=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[
dot/.style = {circle, fill=#1, minimum size=2mm, inner sep=0pt},
dot/.default = black
]
% circle
\draw (0,0) circle (2cm);
% nodes
\node [dot=red, label=below:{$(a_1,a_2)$}] {};
\node [dot,label= 85:{$(x_3,y_3)$}] at (85:2) {};
\node [dot,label= 0:{$(x_2,y_2)$}] at ( 0:2) {};
\node [dot,label=240:{$(x_1,y_1)$}] at (240:2) {};
\end{tikzpicture}
\end{document}
부록:
위 다이어그램에서 노드 사이에 선을 그리는 것을 좋아합니다. 간단히 이름이 지정된 노드를 사용하여 선을 그리는 것보다 \draw (<node name>) -- (<node name>);
예를 들면 다음과 같습니다.
\documentclass[tikz, margin=3mm]{standalone}
\begin{document}
\begin{tikzpicture}[
dot/.style = {circle, fill=#1, minimum size=2mm,
inner sep=0pt, outer sep=0pt},
dot/.default = black
]
% circle
\draw (0,0) circle (2cm);
% nodes
\node (O) [dot=red, label=below:{$(a_1,a_2)$}] {};
\node (a) [dot,label= 85:{$(x_3,y_3)$}] at (85:2) {};
\node (b) [dot,label= 0:{$(x_2,y_2)$}] at ( 0:2) {};
\node (c)[dot,label=240:{$(x_1,y_1)$}] at (240:2) {};
% lines
\draw (O) -- (b);
\end{tikzpicture}
\end{document}
물론 극좌표로 정의된 두 좌표 사이에 선을 그릴 수도 있습니다. 예를 들어:
\draw (0:0) -- (0:2):
위의 MWE에서 이를 사용하면 위 이미지에 표시된 것과 동일한 결과가 제공되지 않습니다. 선은 해당 좌표에서 노드 중심 사이에 나타나는 반면 위의 MWE에서는 노드 경계 사이에 선이 나타납니다.
답변2
\begin{tikzpicture}
\draw (2,2) circle (2cm);
\fill[black!100!] (1,0.25) circle (0.10cm) node[below]{$(x_1,y_1)$};
\fill[black!100!] (4,2) circle (0.10cm)node[right]{$(x_2,y_2)$};
\fill[black!100!] (2.4,3.97) circle (0.10cm)node[above]{$(x_3,y_3)$};
\fill[red!100!] (2,2) circle (0.10cm)node[below] {$(a_1,a_2)$};
\end{tikzpicture}