1
我有以下csv文件:用gnuplot繪製單個值?
timestamp,unit,maximum,average
Thu Feb 05 14:54:00 GMT 2015,Percent,13.0,4.503333333333333
當我運行了以下bash腳本:
#!/bin/bash
graph_results() {
input=cpu-samples.csv
output=cpu-samples.png
gnuplot <<- eor
set terminal png
set output '${output}'
set style data linespoints
set xdata time
set timefmt '%b %d %H:%M:%S GMT %Y'
set format x '%b %d %Y %H:%M'
set datafile separator ","
set xlabel "timestamp"
set ylabel "percent"
set xtics rotate
plot '< tail -n +2 ${input} | cut -f 1 --complement -d" "' using 1:3 title 'Maximum', '' using 1:4 title 'Average'
eor
}
graph_results
我收到以下錯誤:
bash-4.1$ ./run_gnuplot
Could not find/open font when opening font "arial", using internal non-scalable font
Warning: empty x range [4.76463e+08:4.76463e+08], adjusting to [4.71699e+08:4.81228e+08]
,所得圖具有正確的數據點和時間戳記,但是圖表中填充的x軸的日期值不正確。
它工作正常時,csv文件有多個值,但不是隻有一個值時。我意識到錯誤信息是因爲對於一個值,x軸的開始和結束範圍是相同的(如這裏所指出的http://gnuplot.10905.n7.nabble.com/empty-x-range-td1650.html)。
我知道我可以設置以下配置的範圍:
set xrange
但不知如何,我可以在我的情況下,使用,因爲我使用的是自定義的日期格式,我不知道是什麼由於生成的數據是動態的,開始日期和結束日期應該是?
謝謝@Christoph。有沒有一種方法可以告訴gnuplot只繪製一個值,因此x軸將只顯示一個值,而不是嘗試爲x軸創建開始和結束值的gnuplot? (對我來說,由於我的數據是動態的,所以我設置xrange的方式很棘手) – Rory 2015-02-09 11:03:19
您可以使用'set xtic(...)'手動設置這個單獨的tick,但是您必須從某處獲取值... 'set xtic('Feb 05 2015 14:54''Feb 05 14:54:00 GMT 2015')'(我現在不能試試這個) – Christoph 2015-02-09 11:07:52
完美,再次感謝@Christoph – Rory 2015-02-09 11:14:47