尝试在 gnuplot 中模拟深度和方向
Trying to Mimic depth and Orientation in gnuplot
我正在尝试在 xyz 轴上绘制数据系列。我已经成功绘制出我想要的数据系列,但无法获得令人满意的方向和深度来查看图表。当我尝试像示例图那样定位 Z 轴时,它会改变定位(我在 gnuplot 上使用 windows 模式)。在这个过程中,我往往会看不到我的坐标轴,并且数据系列中的一些曲线会被其他曲线遮住。非常感谢任何关于如何改进我的图表的建议,谢谢 Graph in progress Example Graph
p.s。别介意传说,我打算去掉它。
X1
Y1
Z1
X2
Y2
Z2
0
100
0
0
75
1
500
24
0
500
14
14
X1 | Y1 | Z1| X2| Y2 | Z2
| --- | --- | ---|---| ---| --|
| 0 | 100 | 0 | 0 | 75 | 1|
| 500| 24| 0| 500| 14| 14| 1
0 78.641 0 0 74.725 1 0 72.148 2 0 75.504 3 0 72.244 5 0 72.839 12
1 78.094 0 1 74.499 1 1 72.793 2 1 76.035 3 1 72.25 5 1 72.81 12
2 77.924 0 2 74.969 1 2 72.569 2 2 75.912 3 2 72.311 5 2 72.666 12
3 78.142 0 3 75.283 1 3 71.873 2 3 75.537 3 3 72.649 5 3 73.274 12
4 77.854 0 4 75.441 1 4 72.214 2 4 75.68 3 4 72.393 5 4 73.344 12
如果您想以这种方式绘制数据 (waterfall/fence),您需要为此准备一些“合适”的数据。
否则,其他一些表示可能会更好。
以以下示例为起点。虽然,我还不完全相信结果,也许当你旋转它时,你可能会对绘图的表示感到惊讶。
代码当然需要根据您遗漏的详细要求进行调整。
代码:
### "waterfall/fence" plot
reset session
$Data <<EOD
0 78.641 0 0 74.725 1 0 72.148 2 0 75.504 3 0 72.244 5 0 72.839 12
1 78.094 0 1 74.499 1 1 72.793 2 1 76.035 3 1 72.25 5 1 72.81 12
2 77.924 0 2 74.969 1 2 72.569 2 2 75.912 3 2 72.311 5 2 72.666 12
3 78.142 0 3 75.283 1 3 71.873 2 3 75.537 3 3 72.649 5 3 73.274 12
4 77.854 0 4 75.441 1 4 72.214 2 4 75.68 3 4 72.393 5 4 73.344 12
EOD
set style fill transparent solid 0.5
set xyplane at 70
set key noautotitle
set view 66,106
set grid x,y
set xtic 1
set ytics offset 0,-0.5
set zrange [70:80]
splot for [i=1:6] $Data u i*3-2:i*3:i*3-1 w lp pt 7 lc i, \
for [i=1:6] $Data u i*3-2:i*3:i*3-1:(70):i*3-1 w zerrorfill lc i ti sprintf("%d",i)
### end of code
结果:
我正在尝试在 xyz 轴上绘制数据系列。我已经成功绘制出我想要的数据系列,但无法获得令人满意的方向和深度来查看图表。当我尝试像示例图那样定位 Z 轴时,它会改变定位(我在 gnuplot 上使用 windows 模式)。在这个过程中,我往往会看不到我的坐标轴,并且数据系列中的一些曲线会被其他曲线遮住。非常感谢任何关于如何改进我的图表的建议,谢谢 Graph in progress Example Graph
p.s。别介意传说,我打算去掉它。
X1 | Y1 | Z1 | X2 | Y2 | Z2 |
---|---|---|---|---|---|
0 | 100 | 0 | 0 | 75 | 1 |
500 | 24 | 0 | 500 | 14 | 14 |
X1 | Y1 | Z1| X2| Y2 | Z2
| --- | --- | ---|---| ---| --|
| 0 | 100 | 0 | 0 | 75 | 1|
| 500| 24| 0| 500| 14| 14| 1
0 78.641 0 0 74.725 1 0 72.148 2 0 75.504 3 0 72.244 5 0 72.839 12 1 78.094 0 1 74.499 1 1 72.793 2 1 76.035 3 1 72.25 5 1 72.81 12 2 77.924 0 2 74.969 1 2 72.569 2 2 75.912 3 2 72.311 5 2 72.666 12 3 78.142 0 3 75.283 1 3 71.873 2 3 75.537 3 3 72.649 5 3 73.274 12 4 77.854 0 4 75.441 1 4 72.214 2 4 75.68 3 4 72.393 5 4 73.344 12
如果您想以这种方式绘制数据 (waterfall/fence),您需要为此准备一些“合适”的数据。 否则,其他一些表示可能会更好。 以以下示例为起点。虽然,我还不完全相信结果,也许当你旋转它时,你可能会对绘图的表示感到惊讶。 代码当然需要根据您遗漏的详细要求进行调整。
代码:
### "waterfall/fence" plot
reset session
$Data <<EOD
0 78.641 0 0 74.725 1 0 72.148 2 0 75.504 3 0 72.244 5 0 72.839 12
1 78.094 0 1 74.499 1 1 72.793 2 1 76.035 3 1 72.25 5 1 72.81 12
2 77.924 0 2 74.969 1 2 72.569 2 2 75.912 3 2 72.311 5 2 72.666 12
3 78.142 0 3 75.283 1 3 71.873 2 3 75.537 3 3 72.649 5 3 73.274 12
4 77.854 0 4 75.441 1 4 72.214 2 4 75.68 3 4 72.393 5 4 73.344 12
EOD
set style fill transparent solid 0.5
set xyplane at 70
set key noautotitle
set view 66,106
set grid x,y
set xtic 1
set ytics offset 0,-0.5
set zrange [70:80]
splot for [i=1:6] $Data u i*3-2:i*3:i*3-1 w lp pt 7 lc i, \
for [i=1:6] $Data u i*3-2:i*3:i*3-1:(70):i*3-1 w zerrorfill lc i ti sprintf("%d",i)
### end of code
结果: