Как создать CSV-файл gnuplot со столбцами данных, включая квадратные скобки

У меня есть большой файл данных в формате 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? Я думаю, что базовый сюжет, а затем что-то похожее на сюжет с забором, но сложенный, было бы неплохо.

Спасибо Сина

Ну, я застрял, как это сделать Для простых линейных графиков это нормально, но мне нравится использовать своего рода скрипт, который рассматривает скобки напряжения и температуры как векторную матрицу. Возможно, подходящим выбором будет поверхностный график.

Вам необходимо более подробно описать желаемый сюжет. Что находится на оси х? Что находится на оси Y? Какие числа вы пытаетесь вытащить из скобок, чтобы построить график? Например, всегда ли «значение y берется из третьего значения в первом списке в квадратных скобках»? Должна ли каждая строка участвовать в графике или вы хотите выбрать только теги инвентаризации для каждой даты или что?

Ethan 20.04.2024 00:08

Напряжение и температура меняются со временем (первый столбец), что обычно соответствует оси X. Температура и напряжение являются взаимосвязанными параметрами, поэтому было бы хорошо показать их вместе, но при первой попытке было бы полезно показать только график временных рядов напряжения для каждого оборудования в виде 2D-графика для напряжения и температуры отдельно (может быть просмотр нескольких графиков). )

Sina Atabak 21.04.2024 07:02

@SinaAtabak Я думал, вы хотите отобразить все 416 значений в скобках для каждой временной метки, но вы приняли решение, которое отображает только столбец 4. Для чего нужны все остальные значения в скобках?

theozh 22.04.2024 20:27
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Все еще не уверен, что именно вы имеете в виду, но вот простой линейный график (стиль «линейные точки»), который извлекает второе значение напряжения в каждый момент времени, по одной строке для каждого инструмента. Вы не предоставляете достаточно данных в своем образце, чтобы сделать разумную демонстрацию в виде забора с использованием стиля графика «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

Если это решит ваш вопрос, отметьте ответ как «принятый», используя виджет с галочкой рядом с ответом.

Ethan 22.04.2024 19:46

Другие вопросы по теме