我从未使用过 TikZ,当然也没有用它来绘制图表。根据您使用 TikZ 的经验,您是否认为我不应该尝试用它绘制下面的图表?
查看由箭头线、虚线和以黑点结尾的线组成的线组合(例如,A1 和 Q1 之间有一条黑点)。我假设我可以通过绘制 3 条不同的线来绘制这样的线,但我能否让它们保持对齐,以便它们看起来像一条笔直且连续的路径?或者会有可见的接头?
我更喜欢简单,所以以某种方式将线条组合在一起可能是最简单的方法,但这可能吗?
答案1
如果您要制作许多这样的复杂箭头(正如您似乎正在做的那样),您还可以使用路径替换来自动化您的箭头样式:
\documentclass[tikz, border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, arrows, decorations.pathreplacing}
\tikzset{
myarrow/.style={
decoration={show path construction, lineto code={
\path (\tikzinputsegmentfirst) to coordinate[pos=.2] (mid1) coordinate[pos=.75] (mid2) (\tikzinputsegmentlast);
\draw[-stealth] (\tikzinputsegmentfirst) to (mid1);
\draw[dashed, shorten <=3pt] (mid1) to (mid2);
\draw[-*, shorten >=2pt] (mid2) to (\tikzinputsegmentlast);
}},
decorate
},
label1/.style={pos=.2, font=\footnotesize},
label2/.style={pos=.9, font=\tiny}
}
\begin{document}
\begin{tikzpicture}
\node (C) at (0,0) [draw=red, circle, fill=gray!50]{C} ;
\node (X) at (1,4) [draw=black, circle]{X} ;
\node (Y) at (25:4) [draw=black, circle]{Y} ;
\draw[myarrow] (C) to node[label1, right] {0,7} node[label2, right] {0,65} (X);
\draw[myarrow] (C) to node[label1, below] {0,4} node[label2, below] {0,35} (Y);
\end{tikzpicture}
\end{document}
答案2
下面有一个 2 厘米的箭头,一条一厘米的线以圆圈结束,位于两个节点之间的直线上,其余部分用点画出。
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\usepgflibrary{arrows.meta}
\begin{document}
\begin{tikzpicture}
\node (C) at (0,0) [draw=red,circle, fill=gray!50, align=center, text width=30pt,line width=2pt,outer sep = 2pt]{C} ;
\node (X) at (3,7) [draw=black,circle, align=center, text width=20pt,line width=2pt,outer sep = 2pt]{X} ;
\draw [->] (C) -- ($(C)!2cm!(X)$);
\draw [dotted] ($(C)!2.1cm!(X)$) -- ($(X)!2.1cm!(C)$);
\draw [-{Circle}] ($(X)!2cm!(C)$) -- (X);
\end{tikzpicture}
\end{document}