你能帮我用 tikz 画这个图形吗?

你能帮我用 tikz 画这个图形吗?

tikz我需要画一个图形,但这远远超出了我的技能范围(我以前只用过一点点,而且那是很久以前的事了)。我需要的图形是这样的:

![在此处输入图片描述

我很想提供 MWE,但问题是(确切地说)我不知道从哪里开始。除了给我指出tikzCTAN 文档之外,有人能帮我从我需要的图表开始吗?

您可以忽略带有细白线的深色背景,并且由于它很可能会被打印出来,因此您还可以确保不同颜色的线条遵循不同的图案。

答案1

我猜你的困难在于缩放整个图形和缩放文本:参见和[scale=.2]内部[scale=1.5]node其他事情只是基本的rectanglecircle,,,,,,,等等。opacitygridline widthrounded corners

在此处输入图片描述

\documentclass[tikz,border=1mm]{standalone}
\pagecolor{black!65}
\begin{document}
\begin{tikzpicture}[scale=.2,rounded corners=2pt]
\draw[white,very thin,opacity=.05] (0,0) grid (32,25); 
\begin{scope}[line width=2.2pt]
\draw[white] (1,1) rectangle (31,24) (1,1) node[above right,scale=1.5] {$v$}; 
\draw[red] (2,5) rectangle (26,23) (2,23) node[below right,scale=1.3] {$v_m$}; 
\draw[green] (8,2) rectangle (30,20) (30,2) node[above left,scale=1.2] {$v_c$}; 
\draw[yellow] (9,6) rectangle +(13,6) (9,6) node[above right] {$v_f$}; 
\draw[blue] (9,13) rectangle +(12,6) (9,13) node[above right] {$v_k$}; 
\draw[magenta] (12,7) rectangle +(8,4) (12,7) +(1,1) node[scale=.8] {$v_0$}; 
\draw[orange] (14,8) rectangle +(3,2) node[midway,scale=.8] {$v_d$}; 
\fill[pink] (18,9) circle(.25) +(1,0 )node[scale=.8] {$v_u$}; 
\end{scope}
\end{tikzpicture}
\end{document}

答案2

如果您想要绘制此图所需的最低限度的知识,基本上您需要知道如何绘制不同颜色的粗线(例如line width=5pt),知道如何制作矩形,以及如何使用节点将文本放置在特定点。背页例如有一些非常好的教程这个

相关内容