多个时间段中的多个y轴部分

时间:2015-10-29 13:38:04

标签: gnuplot multiple-axes

我在每个情节中得到<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:showIn="@layout/activity_main" tools:context=".MainActivity"> <ImageView android:id="@+id/image" android:layout_width="600dp" android:layout_height="300dp" android:src="@drawable/pug_color"/> <FrameLayout android:id="@+id/target" android:layout_width="600dp" android:layout_height="150dp"> <ImageView android:id="@+id/imageb" android:layout_width="600dp" android:layout_height="300dp" android:layout_gravity="center_horizontal" android:src="@drawable/pug_bw"/> </FrameLayout> <SeekBar android:id="@+id/seekBar1" android:layout_below="@+id/image" android:layout_width="fill_parent" android:layout_height="wrap_content" android:progress="300" android:max="600" /> </RelativeLayout> multiplot 2,2,这些线的范围与y值5 lines上的相同值相同,因此它们重叠。 我将600-700+60 +120 +180添加到了y值,它可以解决这个问题,但是在gnuplot中没有一种方法可以在+240轴上添加多个部分。因此,我在第一部分绘制第一行,在第二部分绘制第二行,依此类推,每个部分的范围为y 多时隙中的4个图中的一个看起来像这样: enter image description here

我的代码:

600-700

所以我已经得到的是一个Multiplot,每个季节有一个情节: 在每个Plot中,最多有5行显示一些数据。 y轴上的大多数数据都在600到700之间的区域中,因此为了避免重叠的线条,即使使用不同的颜色也难以区分,我正常地绘制第一条线,然后所有其他线条都有一些额外的点( 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:($3+20) w l title 'CI 0.4 [{/Symbol l}ave+20]',\ "" every ::1080::1084 using 2:($3+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:($3+60) w l title 'CI 0.4 [{/Symbol l}ave+60]',\ "" every ::4017::4092 using 2:($3+120) w l title 'CI 0.6 [{/Symbol l}ave+120]',\ "" every ::5580::5655 using 2:($3+180) w l title 'CI 0.8 [{/Symbol l}ave+180]',\ "" every ::7186::7280 using 2:($3+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:($3+20) w l title 'CI 0.4 [{/Symbol l}ave+20]',\ "" every ::87::87 using 2:($3+40) w l title 'CI 0.6 [{/Symbol l}ave+40]',\ "" every ::135::139 using 2:($3+60) w l title 'CI 0.8 [{/Symbol l}ave+60]',\ "" every ::311::362 using 2:($3+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:($3+20) w l title 'CI 0.4 [{/Symbol l}ave+20]',\ "" every ::1512::1525 using 2:($3+40) w l title 'CI 0.6 [{/Symbol l}ave+40]',\ "" every ::1681::1686 using 2:($3+60) w l title 'CI 0.8 [{/Symbol l}ave+60]', unset multiplot unset output +40等等,这样所有的线都不在图中的同一位置,而是在彼此之上,因此您可以比较倾向和漂移。

我想知道的是,如果这是一种简单地将y轴切割到+60区域的方法,每个区域都从5到达,所以我可以在顶部区域绘制一条线({{1下一个在下面的那个之前,依此类推。因此,所有行都在相同的值字段中,但在彼此之上,因此您可以更容易区分它们,并且在查看y轴时不必考虑600-700或任何值,因为每个在y轴上的那些区域可以有抽动和网格。 这是我制作的一张照片...... enter image description here

1 个答案:

答案 0 :(得分:1)

概念验证而不是完整的解决方案,但我认为您可以使用此功能并从此处开始自定义:

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

结果图:

enter image description here

数据文件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