的問題是定義的xrange,它需要是相同的格式timefmt的(見?time_axis)
我下面的作品
set datafile separator ","
set xdata time
set timefmt "%d/%m/%Y %H:%M:%S"
set format x "%H:%M"
set autoscale y
set xrange["26/10/2010 13:00:00":"26/10/2010 14:00:00"]
plot './data.csv' using 1:2 with lines
哦,我擺脫了每行數據之間的空白行。
如果你不想編輯文件擺脫空白數據,那麼您可以在gnuplot的爲最後的命令用awk像這樣,
plot "<awk '$0!~/^$/ {print $0}' ./data.csv" using 1:2 with lines
。
編輯:進一步信息的情況下,仍然有一個問題(見註釋)
我需要使用awk命令的數據得到的情節。這是爲了刪除數據中的空白行。以這種方式組合awk和gnuplot可以在linux系統上工作,我不確定在Windows上使用gnuplot。這可能是某些管道沒有發生,在這種情況下,您必須在使用gnuplot之前刪除空行。如果你正在使用Linux和上面的不工作,然後還有其他事情是問題(你仍然可以用awk這一點,但也許不是在繪圖命令?)
。也許在gnuplot會話中存儲了舊命令?爲了確保我們做的是完全一樣的東西,我給了我使用的shell腳本(我改變了xrange以更好地適應數據,並製作出更好的情節,並且重寫\ $而不是$,否則shell會誤解$標誌)。
好:我做了文件data.csv.sh在新的文件夾(如果你已經data.csv或data.csv.png文件),:
#!/bin/bash
echo "26/10/2010 13:30:01,1
26/10/2010 13:30:12,2
26/10/2010 13:30:23,3
26/10/2010 13:30:34,4" > "data.csv"
gnuplot<<EOF
set term png small
set output "data.csv.png"
set datafile separator ","
set xdata time
set timefmt "%d/%m/%Y %H:%M:%S"
set format x "%H:%M"
set autoscale y
set xrange["26/10/2010 13:30:00":"26/10/2010 13:31:00"]
plot "<awk '\$0!~/^\$/ {print \$0}' ./data.csv" using 1:2 with lines
set output
set term pop
EOF
然後在terminal I輸入:
chmod +wrx data.csv.sh && ./data.csv.sh
使shell腳本可執行,然後運行它。
文件data.csv.png如下所示![alt text](https://i.stack.imgur.com/507W9.png)
所有最優秀的
湯姆
來源
2010-11-12 12:37:33
Tom
非常感謝您的幫助湯姆。現在我得到一個具有良好x和y軸的圖表,但沒有繪製任何數據點。我玩過數據和「使用」條款無效! – Tony 2010-11-12 17:07:10
@Tony這很奇怪,你使用了「
Tom
2010-11-12 18:33:46