我有一个包含多列的数据集,其中有些条目是空白的。我想使用 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};