有没有一种简单的方法来画一条类似的线,\draw[dotted] (0,0) -- (1,0);
但带有更大(半径约 1 毫米)和更远(约 4 毫米)的点?
我看过TikZ & PGF 手册,“15.3.2 图形参数:虚线图案”一节中,但没有发现任何有用的东西。
我的解决方法是使用\foreach
和绘图circle
节点。
答案1
您可以使用decoration
:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}[decoration={markings,
mark=between positions 0 and 1 step 6pt
with { \draw [fill] (0,0) circle [radius=2pt];}}]
\path[postaction={decorate}] (0,0) to (4,0);
\end{tikzpicture}
\end{document}
或者使用decorations.shapes
:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{decorations.shapes}
\begin{document}
\tikzset{decorate sep/.style 2 args=
{decorate,decoration={shape backgrounds,shape=circle,shape size=#1,shape sep=#2}}}
\begin{tikzpicture}
\draw[decorate sep={2mm}{4mm},fill] (0,0) -- (4,0);
\draw[decorate sep={2mm}{6mm},fill] (0,1) -- (4,1);
\draw[decorate sep={1mm}{4mm},fill] (0,2) -- (4,2);
\end{tikzpicture}
\end{document}
答案2
使用简单的选项即可实现。从逻辑上讲,使用dotted
,您只能得到正方形或矩形。
例如 :
\documentclass[11pt]{scrartcl}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\tikzstyle{dotted}= [dash pattern=on \pgflinewidth off 4mm]
\draw[dotted,line width = 2mm] (0,0) -- (5,0);
\end{tikzpicture}
\end{document}
一个奇怪的想法是使用line cap=round
圆形而不是正方形。图案是矩形,但 line cap=round
你会得到一个溜冰场,如果你把宽度缩小到足够小,你就会得到圆形。这种方法很有趣。
更新 我添加了一个样式
\documentclass[11pt]{scrartcl}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}[circle dotted/.style={dash pattern=on .05mm off 8mm,
line cap=round}]
\draw[line width = 2mm,circle dotted] (0,0) -- (10,0);
\end{tikzpicture}
\end{document}