我正在尝试绘制 3D 数据集在其相应 xy、zy、zx 平面上的投影,但我没有找到任何相关信息。这似乎是一个被禁止的话题或者根本不可能做到。我附上一张图片作为例子。我想要一个数据文件,但这里无法上传任何内容。因此,如果您想尝试的话,我将其粘贴在下面。第一上校。是频率,第二个是实部,第三个是虚部;我建议使用 1:2:3 绘图。
1.00E+05 173.026357 31.03390887
6.31E+04 180.723259 23.8603962
3.98E+04 184.1098959 19.11910457
2.51E+04 187.4965328 16.50215789
1.59E+04 190.8831696 15.27373233
1.00E+04 193.5001163 15.48616683
6.31E+03 197.1946293 16.81003397
3.98E+03 200.7352042 19.28843642
2.51E+03 205.3533454 23.0599184
1.59E+03 211.2029909 28.41696219
1.00E+03 217.9762647 35.7598067
6.31E+02 226.1349808 45.7503855
3.98E+02 236.6027675 59.32772063
2.51E+02 250.3032531 77.43083413
1.59E+02 268.6218798 101.3681994
1.00E+02 292.0204619 132.7715595
6.31E+01 321.8844417 173.3342331
3.98E+01 362.5240843 226.904671
2.51E+01 415.6327081 297.2543553
1.59E+01 484.750888 388.8474891
1.00E+01 531.7019902 414.2472657
6.31E+00 632.0695923 564.1829167
3.98E+00 779.5422347 759.9921036
2.51E+00 988.7440311 1025.381285
1.59E+00 1271.836087 1397.757403
1.00E+00 1642.518887 1830.323296
6.31E-01 2144.356898 2376.803338
3.98E-01 2786.278524 3061.827616
2.51E-01 3628.319603 3916.183738
1.59E-01 4759.764198 5027.616387
1.00E-01 6297.605217 6296.065837
6.31E-02 8383.46566 7619.932981
3.98E-02 11028.12119 8786.783325
2.51E-02 14096.10633 9558.012905
1.59E-02 17456.57374 9912.070397
1.00E-02 20673.87878 9807.39253
6.31E-03 23537.12632 9387.141681
3.98E-03 24784.02444 7975.529854
2.51E-03 25461.35182 6999.56268
1.59E-03 27339.39591 6593.166254
1.00E-03 28909.56392 5798.845968
我无法尝试任何事情,因为我什至没有找到任何可以开始的东西。这是所有科学分支的文献中非常常见的事情,我不明白为什么它在 gnuplot 中不是一个非常清晰或解决的主题......
如果有人找到一种方法将上述投影与 3D 数据集一起绘制,如所附图像所示(其中数据是点,拟合是绿线,所需的投影是蓝线),那就太好了。另外,如果有人解释如何获得绿线下的“阴影”,那就太好了。
请注意,3D 对象是曲线,而不是曲面。对于表面,有适合我要求的解决方案,但不适用于这种特殊情况。
另外,如果有办法附加txt文件,请告诉我。还好数据集很小,但是在这里粘贴一个1000多行的数据集就太恐怖了……
谢谢你
根据您的描述,我猜您正在寻找以下内容...
您的数据将其设置为 3D 数据,因此您需要使用
splot
绘制它(在 gnuplot 控制台中检查 help splot
)。
比如:splot FILE u 1:2:3
,即x:y:z
。
如果您想绘制投影,您可以采用相同的数据,但将其中一个坐标设置为固定值,最小值或最大值取决于您要投影的表面。例如,这意味着splot FILE u (xmin):2:3
。注意固定值两边的括号xmin
。
如果您还想绘制拟合数据,您需要一个函数来拟合数据。
splot
中的tic标签和轴标签不太好,我不知道有什么好方法让它们变得更好。
数据:
SO78531368.dat
1.00E+05 173.026357 31.03390887
6.31E+04 180.723259 23.8603962
3.98E+04 184.1098959 19.11910457
2.51E+04 187.4965328 16.50215789
1.59E+04 190.8831696 15.27373233
1.00E+04 193.5001163 15.48616683
6.31E+03 197.1946293 16.81003397
3.98E+03 200.7352042 19.28843642
2.51E+03 205.3533454 23.0599184
1.59E+03 211.2029909 28.41696219
1.00E+03 217.9762647 35.7598067
6.31E+02 226.1349808 45.7503855
3.98E+02 236.6027675 59.32772063
2.51E+02 250.3032531 77.43083413
1.59E+02 268.6218798 101.3681994
1.00E+02 292.0204619 132.7715595
6.31E+01 321.8844417 173.3342331
3.98E+01 362.5240843 226.904671
2.51E+01 415.6327081 297.2543553
1.59E+01 484.750888 388.8474891
1.00E+01 531.7019902 414.2472657
6.31E+00 632.0695923 564.1829167
3.98E+00 779.5422347 759.9921036
2.51E+00 988.7440311 1025.381285
1.59E+00 1271.836087 1397.757403
1.00E+00 1642.518887 1830.323296
6.31E-01 2144.356898 2376.803338
3.98E-01 2786.278524 3061.827616
2.51E-01 3628.319603 3916.183738
1.59E-01 4759.764198 5027.616387
1.00E-01 6297.605217 6296.065837
6.31E-02 8383.46566 7619.932981
3.98E-02 11028.12119 8786.783325
2.51E-02 14096.10633 9558.012905
1.59E-02 17456.57374 9912.070397
1.00E-02 20673.87878 9807.39253
6.31E-03 23537.12632 9387.141681
3.98E-03 24784.02444 7975.529854
2.51E-03 25461.35182 6999.56268
1.59E-03 27339.39591 6593.166254
1.00E-03 28909.56392 5798.845968
脚本:
### plotting 3D data and 2D projections
reset session
FILE = "SO78531368.dat"
set xlabel "Frequency / Hz" rotate parallel
set xrange[xmin=5e-4 : xmax=5e5]
set xtics out scale 2,1
set ylabel "Real part" rotate parallel
set yrange[ymin=-1000 : ymax=30000]
set format y " %g"
set zlabel "Imaginary part" rotate by 90 offset -1,0
set zrange[zmin=0 : zmax=11000]
set ztics 1000
set border 1+2+4+8+16+32+64+256+512
set xyplane relative zmin
set logscale x
set grid x,y,z vertical
set key noautotitle
set view 60,30
splot FILE u 1:2:3 w l lw 3 lc "red", \
'' u 1:2:3 w impulses lc "magenta", \
'' u 1:2:(zmin) w l lc "magenta", \
'' u (xmin):2:3 w lp pt 7 ps 0.5 lc "web-green", \
'' u 1:(ymax):3 w lp pt 7 ps 0.5 lc "web-blue"
### end of script
结果: