PM3d 和脉冲组合不缩放

PM3d and Impulses combined not scaling

我是 gnuplot 的新手,但我认为我掌握了所有的基础知识。我正在尝试用一些冲动绘制 3d 表面。当我单独绘制每个点时,它们看起来很棒,但是当我将它们放在一起时,比例就变得一团糟。有什么想法吗?在所有情况下都设置了自动缩放。

第一个广告位:

splot "C:/data/file1.dat" matrix rowheaders columnheaders with pm3d

第二个地点:

splot "C:/Data/file2.dat" with impulses, "C:/Data/file2.dat" with points pt 7

合并:

splot "C:/data/file1.dat" matrix rowheaders columnheaders with pm3d, \                                                                            
    "C:/Data/file2.dat" with impulses, \
    "C:/Data/file2.dat" with points pt 7

看看刻度是怎么弄乱的,第一个图表被挤到一个角落?两个数据集的数据范围大致相同。

file1.dat

    6   8   10  12  16  20  24
30  3.513999939 4.515999794 5.293000221 5.894999981 6.633999825 6.870999813 6.901000023
35  4.235000134 5.330999851 6.169000149 6.72300005  7.196000099 7.374000072 7.434000015
40  4.818999767 5.940999985 6.776000023 7.171000004 7.558000088 7.722000122 7.802999973
45  5.291999817 6.453999996 7.136000156 7.480999947 7.831999779 7.997000217 8.092000008
50  5.656000137 6.791999817 7.393000126 7.718999863 8.057999611 8.232999802 8.340000153
55  5.968999863 7.014999866 7.587999821 7.913000107 8.255000114 8.44299984  8.565999985
60  6.225999832 7.176000118 7.741000175 8.079999924 8.434000015 8.642000198 8.788000107
65  6.414000034 7.326000214 7.859000206 8.225999832 8.602000237 8.840000153 9.015000343
70  6.624000072 7.494999886 7.956999779 8.357000351 8.767000198 9.039999962 9.25
75  6.801000118 7.638999939 8.100999832 8.468000412 8.930000305 9.251999855 9.496999741
80  6.93599987  7.758999825 8.222000122 8.56799984  9.107999802 9.491000175 9.772000313
85  7.035999775 7.855000019 8.322999954 8.690999985 9.289999962 9.748999596 10.10700035
90  7.102000237 7.919000149 8.409999847 8.80300045  9.470999718 10.03199959 10.47500038
95  7.125   7.933000088 8.479000092 8.901000023 9.642999649 10.31599998 10.83600044
100 7.107999802 7.907999992 8.534000397 8.987000465 9.812000275 10.60000038 11.18799973
105 7.053999901 7.849999905 8.515999794 9.06000042  9.972999573 10.86600018 11.52400017
110 6.965000153 7.769999981 8.43500042  9.090999603 10.11800003 11.10400009 11.84200001
115 6.840000153 7.663000107 8.309000015 8.961000443 10.24100018 11.31099987 12.14299965
120 6.672999859 7.524000168 8.149999619 8.75399971  10.32299995 11.48900032 12.42500019
125 6.436999798 7.349999905 7.961999893 8.529000282 9.987000465 11.64599991 12.68999958
130 6.044000149 7.133999825 7.749000072 8.298000336 9.579000473 11.67500019 12.96199989
135 5.572000027 6.856999874 7.513000011 8.06499958  9.237999916 11.11900043 13.27099991
140 5.127999783 6.440000057 7.257999897 7.831999779 8.937999725 10.52499962 12.90999985
145 4.683000088 5.933000088 6.981999874 7.598999977 8.670000076 10.0170002  12.10299969
150 4.30700016  5.52699995  6.657999992 7.363999844 8.425999641 9.602999687 11.39599991
155 3.996999979 5.196000099 6.294000149 7.122000217 8.194000244 9.262000084 10.79100037
160 3.730999947 4.887000084 5.936999798 6.868999958 7.973999977 8.970999718 10.27600002
165 3.506999969 4.620999813 5.642000198 6.610000134 7.78000021  8.737999916 9.892000198
170 3.342999935 4.421999931 5.427999973 6.385000229 7.625   8.56499958  9.626999855
175 3.233999968 4.288000107 5.281000137 6.217000008 7.506999969 8.43900013  9.44299984
180 3.170000076 4.209000111 5.191999912 6.111000061 7.428999901 8.354000092 9.32199955

file2.dat

7.5 172.0   4.5
5.6 56.8    4.7
6.7 35.0    5.1
11.0    158.7   5.3
13.8    24.8    5.6
12.1    180.0   6.0
5.1 83.2    6.4
13.2    158.0   6.6
15.8    34.5    6.67
15.6    32.9    6.69
11.8    180.0   6.8
13.7    96.0    7.2
15.0    62.4    7.3
11.2    76.2    7.3
11.7    84.9    7.4
13.8    121.8   7.46
9.7 90.9    7.6
13.2    66.0    7.64
14.3    61.3    7.8
14.8    124.6   8.0
9.5 118.8   8.20
15.1    148.8   8.29
12.2    81.8    8.4

您可以在第一张图片中看到 x=10 和 x=12 之间的间距与 x=12 和 x=16 之间的间距一样大,这为正在发生的事情提供了线索:而第一个图看起来 gnuplot 使用 x 坐标 8、10、12、16、20、24,这些实际上只是标签,而在数字上 gnuplot 使用 x 坐标 0、1、2、3、4、5、6。因此,当您以相同比例绘制第二张图时,数据点的 x 值介于 5.1 和 15.8 之间,因此将显示 pm3d 表面的一侧。

如果您希望 gnuplot 使用第一列和第一行作为实际坐标,您必须使用非均匀矩阵格式(参见 help matrix nonuniform)。首先,您需要更改数据文件 file1.dat 以数字 7 开头,即列数。文件的开头应如下所示:

7   6   8   10  12  16  20  24
30  3.513999939 4.515999794 5.293000221 5.894999981 6.633999825 6.870999813 6.901000023
35  4.235000134 5.330999851 6.169000149 6.72300005  7.196000099 7.374000072 7.434000015

然后你可以绘制数据如下:

splot "file1.dat" nonuniform matrix w pm3d, \
      "file2.dat" with impulses, \
      "file2.dat" with points pt 7