仅绘制gnuplot中的特定列

时间:2017-08-21 16:47:40

标签: bash gnuplot

我有一个csv文件,如下图所示,我想绘制S(在x轴上)和B(轴)。如何生成带有gnuplot的线条图。

apply plugin: 'com.android.application'

android {
compileSdkVersion 25
buildToolsVersion '25.0.3'
defaultConfig {
    applicationId "com.example.tarun.myapplication"
    minSdkVersion 20
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner 
"android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 
'proguard-rules.pro'
    }
}
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', 
{
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support:design:25.3.1'
testCompile 'junit:junit:4.12'
}

基本上我需要一种方法告诉gnuplot忽略前3行并绘制第2和第3列。

2 个答案:

答案 0 :(得分:1)

你需要告诉gnuplot字段是用逗号分隔的,它应该绘制第2列和第3列:

set datafile separator comma
plot "data.csv" using 2:3 w lp

Gnuplot会自动忽略前三行。

答案 1 :(得分:0)

您可以在读取时修改数据(不影响输入文件),如下所示:

plot 'awk -F, "NR>3{print $2,$3}" data.csv |' using ...

用于打印输入文件data.csv中行号大于3的行的第2行和第3行。

您可以在终端中单独试用awk命令,以便在gnuplot之外进行测试:

awk -F, 'NR>3{print $2, $3}' data.csv