TikZ:带有大点的线

TikZ:带有大点的线

有没有一种简单的方法来画一条类似的线,\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}

在此处输入图片描述

相关内容