gpt4 book ai didi

gnuplot - 使用 Gnuplot 对缺失值的间隔进行着色

转载 作者:行者123 更新时间:2023-12-04 18:35:41 30 4
gpt4 key购买 nike

我有时间数据,其中某些时间间隔仅包含缺失值。我想明确显示那些缺失值间隔。

目前,我的解决方案是检查该值是否为 NaN与否,例如:

plot file_name using 1:(stringcolumn(num_column) eq "NaN" ? 1/0 : column(num_column)) with lines,\
"" using 1:(stringcolumn(num_column) eq "NaN" ? 1000 : 1/0) with points

这将导致绘制点位于 y = 1000而不是缺失值的行,它给出了以下结果:

enter image description here

但是,这并不理想,因为 a) 我需要指定一个 y绘制点的值和 b) 它非常丑陋,尤其是当数据集时间较长时。

我想生产这样的东西:

enter image description here

也就是说,用颜色(可能与我的图像不同,具有一些透明度)完全填充此间隔。请注意,在这些示例中,只有一个缺失值区间,但实际上在一张图中可以有任意数量的缺失值。

最佳答案

使用两条填充曲线
一种有点“hacky”的方法是使用两条填充曲线,如下所示:

plot file_name using 1:(stringcolumn(num_column) eq "NaN" ? 1/0 : column(num_column)) with lines ls 2,\
"" using 1:(stringcolumn(num_column) eq "NaN" ? 0 : 1/0) with filledcurve x1 ls 3,\
"" using 1:(stringcolumn(num_column) eq "NaN" ? 0 : 1/0) with filledcurve x2 ls 3
两条填充曲线必须具有相同的线型,以便我们得到一个统一的矩形。
一个填充曲线有 x1作为参数和其他 x2 ,以便一个填充在 0 以上,另一个填充在 0 以下。
您可以删除 0 处的曲线并使用以下方法使填充透明:
set style fill transparent solid 0.8 noborder
这是结果:
enter image description here
请注意,与其他虚线相比,矩形下方 0 ​​处的虚线有点小问题。另请注意,如果某些矩形的宽度非常小,它们看起来会比预期的要浅。

关于gnuplot - 使用 Gnuplot 对缺失值的间隔进行着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35581450/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com