此问题已在部分帖子中得到解答:Gnuplot to plot SQlite db,但给出的答案不适用于应用程序。
我有一个代码读取UDP gps数据并将其存储到sqlite db中,作为时间,纬度,经度,即
id|time|lat|long
1|083204.69|7216.070578|15328.389869
2|083211.69|7216.075284|15328.423265
3|083214.69|7216.077313|15328.437593
当我尝试运行plot '< sqlite3 /home/usr/sqlite/db/gpsdata.db "SELECT id, lat, long FROM gps;"' using 1:2 title "latitude", '' using 1:3 title "longitude"
时出现错误,提示x range is invalid
和warning: Skipping data file with no valid points
我可以分别加载这些
SqliteField(f) = '< sqlite3 /home/cts/sqlite/db/gpsdata.db "SELECT '.f.' FROM gps;"'
fields = 'time lat long'
plot for [f in fields] SqliteField(f) using 0:1 title f
但是如果我想使x轴时间而不是一个计数变量(即不是0:1而是1:2),则似乎无法正确读取sqlite数据库。
我非常感谢您的帮助,希望这不会被视为重复问题。
答案 0 :(得分:0)
当我找到它时,这是一个非常明显的答案:
在gnuplot中(如果从程序调用gnuplot,则在.conf文件中) 您需要
set datafile separator "|"
因为sqlite数据库是用管道分隔的。