我想知道是否可以使用 pgfplot 绘制 3D 散点图,其中每个点之间都有线,其中点被替换为值。图像如下所示。
目前,我正在通过以下方式填充图表上的点:
\begin{filecontents*}{table2.csv}
Name,X,Y,Z
0, 0, 0, 0
1, 0, 1 , 0
2, 0, 2 , 0
3, 0 , 3 , 0
\end{filecontents*}
\begin{tikzpicture}
\begin{axis}[
grid=both, xlabel=$X$,ylabel=$Y$,zlabel=$Z$,
visualization depends on={value \thisrow{Name} \as \labela},
nodes near coords={\labela},
nodes near coords align={horizontal}
]
\addplot3[scatter,only marks] table [x=X,y=Y,z=Z,col sep=comma] {table2.csv};
\end{axis}
\end{tikzpicture}
答案1
您可以使用标记类型text
并进行相应调整。如果标签只是点的坐标索引,那么您可以使用现成的\coordindex
宏,而无需额外的列。
\begin{tikzpicture}
\begin{axis}[
grid=both, xlabel=$X$,ylabel=$Y$,zlabel=$Z$,
visualization depends on={value \thisrow{Name} \as \labela},
]
\addplot3[scatter,only marks,mark = text,
mark options={text mark=\labela,
text mark as node=true,
text mark style={circle,inner sep=1pt,draw}
}
]
table [x=X,y=Y,z=Z,col sep=comma] {
Name,X,Y,Z
0, 0, 0, 0
1, 0, 1 , 0
2, 0, 2 , 0
3, 0 , 3 , 0
};
\end{axis}
\end{tikzpicture}