多图中的多个 y 轴部分
Multiple y axis sections in a multiplot
我在每个图中都有一个 multiplot 2,2
和 5 lines
,这些线的范围与 y 值上的 600-700
相同,因此它们重叠。
我将 +60 +120 +180
和 +240
添加到 y 值,它可以解决问题,但在 gnuplot 中没有办法在 y
轴上添加多个部分。所以我会在第一部分绘制第一行,在第二部分绘制第二行,依此类推,每个部分的范围从 600-700
多图中的 4 个图之一如下所示:
我的代码:
set multiplot layout 2,2 title "Spring Summer Fall Winter"
set title 'Spring'
plot 'Data1.csv' every ::614::637 using 2:3 w l title 'CI 0.2',\
"" every ::963::964 using 2:(+20) w l title 'CI 0.4 [{/Symbol l}ave+20]',\
"" every ::1080::1084 using 2:(+40) w l title 'CI 0.6 [{/Symbol l}ave+40]',
set title 'Sommer'
plot 'Data2.csv' every ::1074::1155 using 2:3 w l title 'CI 0.2',\
"" every ::2548::2618 using 2:(+60) w l title 'CI 0.4 [{/Symbol l}ave+60]',\
"" every ::4017::4092 using 2:(+120) w l title 'CI 0.6 [{/Symbol l}ave+120]',\
"" every ::5580::5655 using 2:(+180) w l title 'CI 0.8 [{/Symbol l}ave+180]',\
"" every ::7186::7280 using 2:(+240) w l title 'CI 1.0 [{/Symbol l}ave+240]',
set title 'Fall'
plot 'Data3.csv' every ::43::43 using 2:3 w l title 'CI 0.2',\
"" every ::63::63 using 2:(+20) w l title 'CI 0.4 [{/Symbol l}ave+20]',\
"" every ::87::87 using 2:(+40) w l title 'CI 0.6 [{/Symbol l}ave+40]',\
"" every ::135::139 using 2:(+60) w l title 'CI 0.8 [{/Symbol l}ave+60]',\
"" every ::311::362 using 2:(+80) w l title 'CI 1.0 [{/Symbol l}ave+80]',
set title 'Winter'
plot 'Data4.csv' using 2:3 every ::788::829 w l title 'CI 0.2',\
"" every ::1256::1268 using 2:(+20) w l title 'CI 0.4 [{/Symbol l}ave+20]',\
"" every ::1512::1525 using 2:(+40) w l title 'CI 0.6 [{/Symbol l}ave+40]',\
"" every ::1681::1686 using 2:(+60) w l title 'CI 0.8 [{/Symbol l}ave+60]',
unset multiplot
unset output
所以我已经得到了一个多图,每个季节都有一个图:
在每个 Plot 中,最多有 5 行显示一些数据。 y 轴上的大部分数据都在 600 到 700 之间,所以为了避免重叠的线,即使使用不同的颜色也很难区分,我通常绘制第一条线,然后所有其他线都带有一些附加点( +40
+60
等等)这样所有的线都不会在图中的同一个点上而是在彼此之上,这样你就可以比较趋势和漂移。
我想知道的是,是否有一种方法可以将 y 轴简单地切割成最多 5
个区域,每个区域都从 600-700
到达,这样我就可以在顶部区域绘制一条线(600-700
) 下一个在前一个的下面,依此类推。因此,所有行都在相同的值字段中但彼此重叠,因此您可以更轻松地区分它们,但在查看 y 轴时不必介意 +20
或任何值,因为每个y 轴上的区域可能有抽动和网格。
这是我制作的图像...
概念验证而不是完整的解决方案,但我认为您可以使用它并从这里开始自定义:
set multiplot layout 6, 2
set format x "" # no xtic labels
set ytics -4, 2, 4 # adequately spaced, non-overlapping ytic labels
set bmargin 0
plot[][-5:5] "so.dat" every ::0::4 w lp t "spring 1"
plot[][-5:5] "so.dat" every ::5::9 w lp t "summer 1"
set tmargin 0
plot[][-5:5] "so.dat" every ::10::14 w lp t "spring 2"
plot[][-5:5] "so.dat" every ::0::4 w lp t "summer 2"
set bmargin 1
plot[][-5:5] "so.dat" every ::15::19 w lp t "spring 3"
plot[][-5:5] "so.dat" every ::10::14 w lp t "summer 3"
set tmargin 1
set bmargin 0
plot[][-5:5] "so.dat" every ::0::4 w lp t "fall 1"
plot[][-5:5] "so.dat" every ::5::9 w lp t "winter 1"
set tmargin 0
plot[][-5:5] "so.dat" every ::10::14 w lp t "fall 2"
plot[][-5:5] "so.dat" every ::20::24 w lp t "winter 2"
set bmargin 1
plot[][-5:5] "so.dat" every ::5::9 w lp t "fall 3"
plot[][-5:5] "so.dat" every ::10::14 w lp t "winter 3"
unset multiplot
结果图:
数据文件so.dat
:
1 -1.8351
2 0.6315
3 -1.3365
4 2.1251
5 -0.6708
6 -3.3965
7 -0.2298
8 0.4807
9 -2.4213
10 -0.5998
11 -1.0238
12 -0.2025
13 0.4362
14 -1.1263
15 3.3197
16 0.0337
17 -0.7374
18 1.1504
19 -0.1656
20 -0.4389
21 1.4645
22 1.6538
23 1.6362
24 -2.0363
25 -4.9741
我在每个图中都有一个 multiplot 2,2
和 5 lines
,这些线的范围与 y 值上的 600-700
相同,因此它们重叠。
我将 +60 +120 +180
和 +240
添加到 y 值,它可以解决问题,但在 gnuplot 中没有办法在 y
轴上添加多个部分。所以我会在第一部分绘制第一行,在第二部分绘制第二行,依此类推,每个部分的范围从 600-700
多图中的 4 个图之一如下所示:
我的代码:
set multiplot layout 2,2 title "Spring Summer Fall Winter"
set title 'Spring'
plot 'Data1.csv' every ::614::637 using 2:3 w l title 'CI 0.2',\
"" every ::963::964 using 2:(+20) w l title 'CI 0.4 [{/Symbol l}ave+20]',\
"" every ::1080::1084 using 2:(+40) w l title 'CI 0.6 [{/Symbol l}ave+40]',
set title 'Sommer'
plot 'Data2.csv' every ::1074::1155 using 2:3 w l title 'CI 0.2',\
"" every ::2548::2618 using 2:(+60) w l title 'CI 0.4 [{/Symbol l}ave+60]',\
"" every ::4017::4092 using 2:(+120) w l title 'CI 0.6 [{/Symbol l}ave+120]',\
"" every ::5580::5655 using 2:(+180) w l title 'CI 0.8 [{/Symbol l}ave+180]',\
"" every ::7186::7280 using 2:(+240) w l title 'CI 1.0 [{/Symbol l}ave+240]',
set title 'Fall'
plot 'Data3.csv' every ::43::43 using 2:3 w l title 'CI 0.2',\
"" every ::63::63 using 2:(+20) w l title 'CI 0.4 [{/Symbol l}ave+20]',\
"" every ::87::87 using 2:(+40) w l title 'CI 0.6 [{/Symbol l}ave+40]',\
"" every ::135::139 using 2:(+60) w l title 'CI 0.8 [{/Symbol l}ave+60]',\
"" every ::311::362 using 2:(+80) w l title 'CI 1.0 [{/Symbol l}ave+80]',
set title 'Winter'
plot 'Data4.csv' using 2:3 every ::788::829 w l title 'CI 0.2',\
"" every ::1256::1268 using 2:(+20) w l title 'CI 0.4 [{/Symbol l}ave+20]',\
"" every ::1512::1525 using 2:(+40) w l title 'CI 0.6 [{/Symbol l}ave+40]',\
"" every ::1681::1686 using 2:(+60) w l title 'CI 0.8 [{/Symbol l}ave+60]',
unset multiplot
unset output
所以我已经得到了一个多图,每个季节都有一个图:
在每个 Plot 中,最多有 5 行显示一些数据。 y 轴上的大部分数据都在 600 到 700 之间,所以为了避免重叠的线,即使使用不同的颜色也很难区分,我通常绘制第一条线,然后所有其他线都带有一些附加点( +40
+60
等等)这样所有的线都不会在图中的同一个点上而是在彼此之上,这样你就可以比较趋势和漂移。
我想知道的是,是否有一种方法可以将 y 轴简单地切割成最多 5
个区域,每个区域都从 600-700
到达,这样我就可以在顶部区域绘制一条线(600-700
) 下一个在前一个的下面,依此类推。因此,所有行都在相同的值字段中但彼此重叠,因此您可以更轻松地区分它们,但在查看 y 轴时不必介意 +20
或任何值,因为每个y 轴上的区域可能有抽动和网格。
这是我制作的图像...
概念验证而不是完整的解决方案,但我认为您可以使用它并从这里开始自定义:
set multiplot layout 6, 2
set format x "" # no xtic labels
set ytics -4, 2, 4 # adequately spaced, non-overlapping ytic labels
set bmargin 0
plot[][-5:5] "so.dat" every ::0::4 w lp t "spring 1"
plot[][-5:5] "so.dat" every ::5::9 w lp t "summer 1"
set tmargin 0
plot[][-5:5] "so.dat" every ::10::14 w lp t "spring 2"
plot[][-5:5] "so.dat" every ::0::4 w lp t "summer 2"
set bmargin 1
plot[][-5:5] "so.dat" every ::15::19 w lp t "spring 3"
plot[][-5:5] "so.dat" every ::10::14 w lp t "summer 3"
set tmargin 1
set bmargin 0
plot[][-5:5] "so.dat" every ::0::4 w lp t "fall 1"
plot[][-5:5] "so.dat" every ::5::9 w lp t "winter 1"
set tmargin 0
plot[][-5:5] "so.dat" every ::10::14 w lp t "fall 2"
plot[][-5:5] "so.dat" every ::20::24 w lp t "winter 2"
set bmargin 1
plot[][-5:5] "so.dat" every ::5::9 w lp t "fall 3"
plot[][-5:5] "so.dat" every ::10::14 w lp t "winter 3"
unset multiplot
结果图:
数据文件so.dat
:
1 -1.8351
2 0.6315
3 -1.3365
4 2.1251
5 -0.6708
6 -3.3965
7 -0.2298
8 0.4807
9 -2.4213
10 -0.5998
11 -1.0238
12 -0.2025
13 0.4362
14 -1.1263
15 3.3197
16 0.0337
17 -0.7374
18 1.1504
19 -0.1656
20 -0.4389
21 1.4645
22 1.6538
23 1.6362
24 -2.0363
25 -4.9741