我正在嘗試畫一個圓並在其上標記一些點,如下所示:
\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}