从具有缺失值的数据文件创建散点图(稀疏矩阵)

从具有缺失值的数据文件创建散点图(稀疏矩阵)

我有一个包含多列的数据集,其中有些条目是空白的。我想使用 tikzpicture 导入并绘制这些数据。但是,生成的图表看起来有些值重复了。有人能发现错误或为我想做的事情提出更好的方法吗?

simultation_results.dat::
dest    ds1     ds2         ds3       ds4
5       2       43                    5
6       32                  34        9
7       7       125         54        3
8       98                  4         3

这是我目前的代码:

\begin{tikzpicture}
\begin{axis}
\addplot+ [ only marks,
        scatter,
        mark=x] table [x=dest, y=ds1] {simulation_results.dat};
\addplot+ [ only marks,
        scatter,
        mark=+] table [x=dest, y=ds2] {simulation_results.dat};
\addplot+ [ only marks,
        scatter,
        mark=-] table [x=dest, y=ds3] {simulation_results.dat};
\addplot+ [ only marks,
        scatter,
        mark=triangle*] table [x=dest, y=ds4] {simulation_results.dat};

\end{axis}
\end{tikzpicture}

这是结果图。请注意,一些数据点水平重复(它们不应该这样)

搞砸了的情节

答案1

最后,我使用了一个过滤器并用 0 填充了空列。由于 0 不会出现在我的数据集中,因此我会在图中忽略这些值。

解决方案在这里找到:如何使用 pgfplots 隐藏空的(值为 0) ybars?

simultation_results.dat::
dest    ds1     ds2         ds3       ds4
5       2       43          0         5
6       32      0           34        9
7       7       125         54        3
8       98      0           4         3


\addplot+ [ 
    y filter/.expression={y==0 ? nan : y*1000000},
    only marks,
    scatter,
    mark=x] table [x=dest, y=ds1] {simulation_results.dat};

相关内容