2012-11-22 317 views
1

選擇行我有一個數據文件,它看起來像下面的一個。現在,我想使用第9列第10列作爲錯誤條形成直方圖圖表。這很好。 Bubt有沒有選擇只繪製特定的行?GNUPLOT在直方圖

我在另一個線程使用三元運算符試圖解決方案:

plot 'Härte StS-123 bis 151.txt' using (( $0 == 4 || $0 == 6) ? $9 : 1/0):($9+$10):($9-$10):xticlabels(2)

此地塊行4和6確實,但其間留下的數據集,一個空的空間。

是否有任何其他的方式來實現這一目標?

感謝菲爾

數據文件:


STS-123A 「SBR/THF」 50.10 49.60 49.20 50.70 50.00 49.50 49.85 0.49 0.00974176

STS-123B 「SBR/THF」 51.00 50.40 50.40 52.00 52.80 50.60 51.20 0.90 0.017614257

STS-124A 「SBR + 2phrGraphit」 49.60 49.40 49.30 48.90 49.40 49.10 49.28 0.23 0.004599753

回答

1

你可能需要的是index選項繪圖命令:

plot 'datafile' index 4 u 9:($9-$10):($9+$10):xticlabels(2), \ 
    '' index 6 u 9:($9-$10):($9+$10):xticlabels(2) 

這應該繪製距離第4和第6集(行)的數據,儘管有兩種不同的風格,你可以調整劇情指揮。

你想對這些值從兩個數據集連接?這可能會更棘手。

如果你想從有數據的第4和第6行僅積數據,可以在gnuplot的使用外部命令,如:

plot "<sed '/^$/d' data.dat | sed -n '4p; 6p'" u 9:($9-$10):($9+$10):xticlabels(2) 

(這可能不是用SED最緊湊的方式在這種情況下,但它會刪除空行,然後返回第4和第6行)。

+0

謝謝。這有點適合它。 Allthough - 我必須在每行之間插入換行符。但我有數據,有時候有時候會有一條白線,有時候不是。我認爲可能有一種方法可以繪製特定的行,因爲它們在$ 0中列出。然後,如果我有一個新的繪圖命令每次它搞砸了整個diagramm - 這你能解決。我只是想,也許有一種方法可以做到這一點,但我不知道。我想我將不得不手動修改數據文件,然後,這不是太多的數據,但另一種方式會更美麗.... 菲爾 – user1844707

+0

你只是想繪製兩行,從一個文件每行之間可能有或沒有空格?我不知道如何在本土的gnuplot做到這一點,但看到我的編輯用於方式做到這一點使用一個外部命令。 – andyras