我有一个包含四列数据的文件。我只使用前三个来绘制 3D 图,现在不需要第四个。
我想知道如果满足某些条件,如何更改点的颜色。例如,如果一个点的值(x,y,z)大于(16,400,65),我想将其绘制为灰色。如果它们小于那个值,我想使用红色。
我正在尝试使用awk
相同的方法,它仅以不同的颜色绘制两个点。这是我的代码。
gnuplot>splot "< awk '{if( ($2 > \"16\") || ($1 > \"400\") || ($3 > \"65\")) print}'
./8_77_non_pareto_data.dat " u 2:1:3 w p pt 8 lc rgb "grey", \
"< awk '{if( ($2 < \"16\") || ($1 < \"400\") || ($3 < \"65\")) print}'
./8_77_non_pareto_data.dat " u 2:1:3 w p pt 8 lc rgb "red", \
"./8_77_pareto_data.dat" u 2:1:3 w i lt 1 lc rgb "blue" t "Pareto points"
我的数据文件如下所示:
48 15.057599573464184 68 361
93 14.950459657063462 73 361
48 14.065204842090914 69 361
280 13.16320458043516 69 361
120 15.05281009307949 66 361
48 15.133322961840786 59 361
48 16.161631503473544 73 361
470 17.763180586730847 77 361
X 轴范围从 6 到 22。
Y 轴范围从 0 到 500。
Z 轴范围从 35 到 85。
我想将其可视化为以三维方式在(16,400,65)周围有一个边界框。盒子里面的东西都是红色的,外面的东西都是灰色的。
希望有人可以在这里帮助我。
PS:蓝点打印得很好,虽然这里的示例数据没有显示满足某些条件,但有些点满足该条件。我没有在这里发布整个文件。