如何解决gnuplot:如何在不同直径的3D中绘制均匀球体?
我想使用gnuplot对直径不同的大量球体进行3D表示,其信息位于名为'data.dat'
的文件中。如果我这样做:
splot 'data.dat' u 1:2:3 w p lt 7
我得到一系列均一颜色的小尺寸点。如何使用'data.dat'
命令添加球体的真实大小(从文件splot
的第四列读取)?像这样:
splot 'data.dat' u 1:2:3:4 ...
解决方法
自gnuplot 5.4起,我猜您在3D中也具有with circles
的绘图样式,之前它仅限于2D绘图。
如果您的gnuplot版本较旧,则可以执行以下操作:
splot 'data.dat' u 1:2:3:4 w p pt 7 ps var notitle
这将绘制可变大小的点。但是,您要求“实际”尺寸。您可以通过缩放第4列来解决此问题。像这样:
Factor = 0.123
splot 'data.dat' u 1:2:3:($4*Factor) w p pt 7 ps var notitle
以下仅适用于gnuplot> = 5.4:
代码:
### plot with circles in 3D (only for gnuplot >=5.4)
reset session
# create some test data
set print $Data
do for [i=1:100] {
print sprintf("%g %g %g %g %g",rand(0),rand(0)*0.02+0.02,int(rand(0)*0xffffff))
}
set print
set view 60,30,1.25
set view equal xyz
set xyplane at 0
set tics 0.2
set style fill solid 0.5
splot $Data u 1:2:3:4:5 w circles lc rgb var notitle
### end of code
结果:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。