pgfplots:用自定义文本替换散点标记

pgfplots:用自定义文本替换散点标记

我想知道是否可以使用 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}

在此处输入图片描述

相关内容