gpt4 book ai didi

gnuplot - 绘制热图时如何跳过 Gnuplot 中的行?

转载 作者:行者123 更新时间:2023-12-02 08:27:51 26 4
gpt4 key购买 nike

我正在尝试在 Gnuplot 中绘制热图:

set view map
set size square
set cbrange [0:1]
splot "input.dat" 1:4:8 w pm3d

但我想跳过特定范围内第一列和第四列数据的行,而不更改 xrangeyrange。我该怎么做?

最佳答案

如果你想跳过 xminxmax 之间的 x 值,以及 yminymax 之间的 y 值你可以做一个条件图:

splot "input.dat" u 1:4:( $1 >= xmin && $1 <= xmax && \
$4 >= ymin && $4 <= ymax ? 1/0 : $8 ) w pm3d

上面的代码告诉 gnuplot 忽略范围之外的点。

例如,我使用 bash 生成以下随机数据:

for i in `seq 1 1 100`
do for j in `seq 1 1 100`
do echo $i $j $RANDOM >> input.dat
done
echo "" >> input.dat
done

现在告诉 gnuplot 忽略某个区域:

xmin = 25; xmax = 36; ymin = 67; ymax = 88
set view map
splot "input.dat" u 1:2:( $1 >= xmin && $1 <= xmax && \
$2 >= ymin && $2 <= ymax ? 1/0 : $3 ) w pm3d not

enter image description here

如果您有多个要跳过的区域,只需使用“或”逻辑运算符 || 来分隔区域:

xmin1 = 25; xmax1 = 36; ymin1 = 67; ymax1 = 88
xmin2 = 50; xmax2 = 90; ymin2 = 23; ymax2 = 34
set view map
splot "input.dat" u 1:2:( \
($1 >= xmin1 && $1 <= xmax1 && $2 >= ymin1 && $2 <= ymax1) \
|| \
($1 >= xmin2 && $1 <= xmax2 && $2 >= ymin2 && $2 <= ymax2) \
? 1/0 : $3 ) w pm3d not

enter image description here

关于gnuplot - 绘制热图时如何跳过 Gnuplot 中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30359253/

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