У меня есть большой файл данных в формате csv.
#data and time, id, volt, temp
2024-04-11 18:15:11,1,[3100,3295,...,3120],[29,27,...,30]
2024-04-11 18:15:11,4,[3100,3295,...,3120],[29,27,...,30]
2024-04-11 18:15:11,5,[3100,3295,...,3120],[29,27,...,30]
2024-04-11 18:15:11,6,[3100,3295,...,3120],[29,27,...,30]
2024-04-11 18:15:11,7,[3100,3295,...,3120],[29,27,...,30]
2024-04-11 18:15:11,10,[3100,3295,...,3120],[29,27,...,30]
2024-04-11 18:16:11,1,[3100,3295,...,3120],[29,27,...,30]
2024-04-11 18:16:11,4,[3100,3295,...,3120],[29,27,...,30]
2024-04-11 18:16:11,5,[3100,3295,...,3120],[29,27,...,30]
2024-04-11 18:16:11,6,[3100,3295,...,3120],[29,27,...,30]
2024-04-11 18:16:11,7,[3100,3295,...,3120],[29,27,...,30]
2024-04-11 18:16:11,10,[3100,3295,...,3120],[29,27,...,30]
... более 200000 строк!
В каждой из этих скобок содержится 416 значений. Ценности меняются со временем. Числа 1,4,5,6,7,10 относятся к шести меткам стационарного оборудования и повторяются каждую минуту времени. Выше приведен пример 18:15:11, а затем те же идентификационные номера 1,4,5,6,7,10.
Как я смогу построить это в gnuplot? Я думаю, что базовый сюжет, а затем что-то похожее на сюжет с забором, но сложенный, было бы неплохо.
Спасибо Сина
Ну, я застрял, как это сделать Для простых линейных графиков это нормально, но мне нравится использовать своего рода скрипт, который рассматривает скобки напряжения и температуры как векторную матрицу. Возможно, подходящим выбором будет поверхностный график.
Напряжение и температура меняются со временем (первый столбец), что обычно соответствует оси X. Температура и напряжение являются взаимосвязанными параметрами, поэтому было бы хорошо показать их вместе, но при первой попытке было бы полезно показать только график временных рядов напряжения для каждого оборудования в виде 2D-графика для напряжения и температуры отдельно (может быть просмотр нескольких графиков). )
@SinaAtabak Я думал, вы хотите отобразить все 416 значений в скобках для каждой временной метки, но вы приняли решение, которое отображает только столбец 4. Для чего нужны все остальные значения в скобках?
Все еще не уверен, что именно вы имеете в виду, но вот простой линейный график (стиль «линейные точки»), который извлекает второе значение напряжения в каждый момент времени, по одной строке для каждого инструмента. Вы не предоставляете достаточно данных в своем образце, чтобы сделать разумную демонстрацию в виде забора с использованием стиля графика «zerror», но см., например, документацию по zerror в Руководстве пользователя.
# Line plot
# One line for each device numbered 1,4,5,6,7,10 in column 2
# Height of point at time t is 2nd value in first bracketed array
set datafile separator comma
set timefmt "%Y-%m-%d %H:%M:S"
set xdata time
set xlabel "Time"
set xtics format "%H:%M"
set xtics 600. # one tick mark every 10 minutes (600 seconds)
set xrange ["2024-04-11 18:00" : "2024-04-11 18:20"]
set ylabel "Instrument"
set yrange [0:10]
set ytics (1,4,5,6,7,10)
set zlabel "Voltage point #2" rotate
set view 50,20
set style data linespoints
splot for [i=0:5] 'brackets.csv' using 1:2:4 every 6::i notitle
Если это решит ваш вопрос, отметьте ответ как «принятый», используя виджет с галочкой рядом с ответом.
Вам необходимо более подробно описать желаемый сюжет. Что находится на оси х? Что находится на оси Y? Какие числа вы пытаетесь вытащить из скобок, чтобы построить график? Например, всегда ли «значение y берется из третьего значения в первом списке в квадратных скобках»? Должна ли каждая строка участвовать в графике или вы хотите выбрать только теги инвентаризации для каждой даты или что?