2012-08-10 51 views
3

我有一個製表符分隔的數據文件,其中包含一些(雙空白行分隔)數據集,我想爲它們中的每一個繪製一條線。我想能夠設置線型(由此我指的是實體/虛線/點)。我希望每一行都是不同的顏色。在使用「linecolor變量」時可以在gnuplot中設置「線型」嗎?

我可以用這個圖他們都不同的顏色:

plot 'example.dat' using 1:2:(column(-2)) with lines linecolor variable 

而且我可以設置線型,但使用該地塊它們都是一樣的顏色:

plot 'example.dat' using 1:2:(column(-2)) with lines linetype 5 

但是,當我將它們結合起來,線型不是我設置的(在這種情況下,我只是得到一條實線)。

plot 'example.dat' using 1:2:(column(-2)) with lines \ 
    linetype 5 linecolor variable 

有沒有辦法做到這一點?

我使用的是gnuplot 4.6,用x11和postscript終端嘗試過。

回答

3

這看起來像一個bug。不幸的是,我不認爲太多的gnuplot開發者在StackOverflow上閒逛,所以我們可能永遠不會發現。 (我鼓勵你提交一個錯誤報告,並隨時更新可能取得的進展)...

如果你真的使用column(-2)來挑選顏色,問題變得更容易,你應該可以使用圖迭代來做到這一點(只要你知道數據集數量的上限)。

NDSET=3 #This will issue a warning if NDSET is too big, but will still work. 
plot for [IDX=0:NDSET] 'example.dat' index IDX using 1:2 with lines linetype 5 linecolor IDX+1 

索引從0開始,對應於column(-2)。 Linecolor 0沒有定義(我不知道爲什麼gnuplot在這裏使用兩種不同的約定 - 我想因爲理論上對應於任何特定線型的顏色是與終端相關的,所以無論如何它並不重要。 )

相關問題