nicka
14.01.2013 21:01 notebook
тупой вопрос.
есть текстовый файл, в котором время, имена, данные.
чем/как из него сделать файл с картинкой-графиком?
(или, как это скормить гнуплоту)
пример файла:
YY,MM,DD,HH,MM,SS,temperature_1,temperature_2
2013,01,15, 0,01,01, -4.875, 21.4375
2013,01,15, 0,01,01, -4.6875, 21.125
2013,01,15, 0,01,01, -4.875, 20.9375
2013,01,15, 0,01,01, -4.75, 20.8125
Предлагаю сначала взять ваш простой пример и попытаться РУКАМИ сделать из него SVG по спекам (так, чтобы получился именно такой график, какой вам хочется, как говорится "Решил поиграть со шрифтами — проиграл"). А уже потом, глядя то на цифры в вашем примере, то на цифры в SVG, можно будет понять, как написать конвертер из вашего формата в SVG, а? Я бы смог.
http://www.w3schools.com/svg/svg_polygon...
http://www.w3schools.com/svg/svg_polylin...
https://github.com/mbostock/d3/wiki/SVG-...
http://stackoverflow.com/questions/13051...
Или даже вот так: http://matplotlib.org
Вот, например, совсем как у вас: http://matplotlib.org/examples/api/date_... :)
Не нравится? Ну тогда выбирайте из http://matplotlib.org/gallery.html
Тупой виндовый способ, полуавтоматический, естественно: открыть файл exel'ем (или опенофисом). Он там спросит про разделитель данных, сказать что запятая (или пробел?). Он все запросто импортирует в таблицу, а там уже графиков можно строить сколько угодно.
никакого руками! зачем?
#!/bin/bash
FILE="/mnt/sdc1/temperature/log.csv"
/usr/bin/gnuplot <<EOP
set terminal png size 800,480
set output "/opt/apache/www/daily.png"
set grid x y
set xlabel "Time (Dayly)"
set ylabel "Temperature"
set y2tics
set xtics 3600*2
set xdata time
set timefmt "%Y,%m,%d,%H,%M"
set format x "%H:%M"
datafile="/mnt/sdc1/temperature/log.csv-daily"
plot datafile using 1:2 title "T outdoor" with lines, \
datafile using 1:3 title "T in room" with lines axes x1y1
EOP