在 files.csv 中未找到形状 C(tikz-network 包)

在 files.csv 中未找到形状 C(tikz-network 包)

按照第 33 页的第一个示例https://github.com/hackl/tikz-network/blob/master/manual.pdf我收到了以下错误。

! Package pgf Error: No shape named C is known.

See the pgf package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.6 ... layer={1,2},style=dashed]{data/ml_edges.csv}

?

我是否在代码中写错了什么或者遗漏了什么?

平均能量损失

\documentclass{article}
\usepackage{tikz-network}
\thispagestyle{empty}
\begin{document}
\begin{tikzpicture}[multilayer=3d]
\Edges[vertices=data/ml_vertices.csv, layer={1,2},style=dashed]{data/ml_edges.csv}
\end{tikzpicture}
\end{document}

ml_vertices.csv

id, x, y ,size,color,opacity,label,layer
 A, 0,  0, .4 , green,  .9   ,  a  ,  1
 B, 1, .7, .6 ,      ,  .5   ,  b  ,  1
 C, 2,  1, .8 ,orange,  .3   ,  c  ,  1
 D, 2,  0, .5 ,   red,  .7   ,  d  ,  2
 E,.2,1.5, .5 ,  gray,       ,  e  ,  1
 F,.1, .5, .7 ,  blue,  .3   ,  f  ,  2
 G, 2,  1, .4 ,  cyan,  .7   ,  g  ,  2
 H, 1,  1, .4 ,yellow,  .7   ,  h  ,  2

ml_edges.csv

u,v,label,lw,color,opacity,bend,Direct
A,B, ab  ,.5,red   ,   1   ,  30,false
B,C, bc  ,.7,blue  ,   1   , -60,false
A,E, ae  , 1,green ,   1   ,  45,true
C,E, ce  , 2,orange,   1   ,   0,false
A,A, aa  ,.3,black ,  .5   ,  75,false
C,G, cg  , 1,blue  ,  .5   ,   0,false
E,H, eh  , 1,gray  ,  .5   ,   0,false
F,A, fa  ,.7,red   ,  .7   ,   0,true
D,F, df  ,.7,cyan  ,   1   ,   30,true
F,H, fh  ,.7,purple,   1   ,   60,false
D,G, dg  ,.7,blue  ,  .7   ,   60,false

答案1

我认为它在手册中有效但在你的情况下无效的原因是,在 TiZ 坐标是全局的。也就是说,当手册编译时,首先编译第 32 页上的示例,然后它们创建顶点。也就是说,以下内容有效:

\documentclass{article}
\usepackage{filecontents}
\begin{filecontents*}{data/ml_vertices.csv}
id,x,y,size,color,opacity,label,layer
A,0,0,.4,green,.9,a,1
B,1,.7,.6,purple,.5,b,1
C,2,1,.8,orange,.3,c,1
D,2,0,.5,red,.7,d,2
E,.2,1.5,.5,gray,,e,1
F,.1,.5,.7,blue,.3,f,2
G,2,1,.4,cyan,.7,g,2
H,1,1,.4,yellow,.7,h,2
\end{filecontents*} 
\begin{filecontents*}{data/ml_edges.csv}
u,v,label,lw,color,opacity,bend,Direct
A,B,ab,.5,red,1,30,false
B,C,bc,.7,blue,1,-60,false
A,E,ae,1,green,1,45,true
C,E,ce,2,orange,1,0,false
A,A,aa,.3,black,.5,75,false
C,G,cg,1,blue,.5,0,false
E,H,eh,1,gray,.5,0,false
F,A,fa,.7,red,.7,0,true
D,F,df,.7,cyan,1,30,true
F,H,fh,.7,purple,1,60,false
D,G,dg,.7,blue,.7,60,false
\end{filecontents*} 
\usepackage{tikz-network}
\thispagestyle{empty}
\begin{document}
\begin{tikzpicture}[multilayer=3d]
\Vertices[layer=1]{data/ml_vertices.csv}
\Vertices[layer=2]{data/ml_vertices.csv}
\Edges[style=dashed]{data/ml_edges.csv}
\end{tikzpicture}

\begin{tikzpicture}[multilayer=3d]
\Edges[vertices=data/ml_vertices.csv, layer={1,2},style=dashed]{data/ml_edges.csv}
\end{tikzpicture}
\end{document}

为什么?只是因为坐标在第一个中正确生成tikzpicture。如果我将其注释掉,我会重现您收到的错误,因为坐标没有定义。我想你应该将这些问题告知作者,有些人可能想称之为错误。

相关内容