7

Извините за плохой вопрос имя.

У меня есть набор данных в CSV, который содержит временные диапазоны (наносекунды с эпохи), как, например,

StartTimestamp,EndTimestamp
284473439207159,284473441207159
284473458747908,284473460285908
284473480805406,284473481909406
284473502295963,284473504295963
284473524525589,284473526079589
284473546781808,284473547889808

Они представляют время, когда сигнал был включен.

Я хотел бы создать график, который представляет собой прямоугольную волну, где X - время (от первого начала до последнего конца) и f (X) = {1, если X находится в одном из диапазонов в наборе данных, 0 если это не так)

Пример: заданный набор

0,1
3,5
9,10

Я хотел бы увидеть это

Какие-либо предложения? Не генерируя значения 0, я не могу понять это.

2 ответа2

8

Прежде всего, вы должны разбить начальные и конечные числа на отдельные значения.  Это можно сделать с помощью функции «Текст в столбцы» или с помощью формул.

Вот как это сделать с формулами.  Я предполагаю, что ваши значения через запятую находятся в столбце A , начиная с ячейки A2 .  (И я предполагаю, что вы уже поняли, что это помогает отформатировать эти значения как текст, чтобы Excel не думал, что каждая запись представляет собой 30-значное число.)

  • В ячейке B2 введите =LEFT(A2, FIND(",", A2)-1)+0
  • В ячейке C2 введите =RIGHT(A2, LEN(A2)-FIND(",", A2))+0

(+0 в конце преобразует текстовое значение, возвращаемое LEFT() и RIGHT() обратно в число.)

И я полагаю, вы выяснили, что способ создания прямоугольной диаграммы состоит в том, чтобы иметь две точки данных для каждого значения X-перехода.  Мы можем создать те с формулами.  Вам нужна рабочая зона - например, Колонки AB:AC . (Вы можете положить его в другом месте, если хотите.)

  • В ячейке AB2 введите =INDEX(B:C, (ROW()+3)/4+1, MOD(INT((ROW()+3)/2),2)+1)
  • В ячейке AC2 введите =MOD(INT(ROW()/2), 2)

Формула AB выбирает значения X из столбцов B:C , чередуя их.  Формула AC генерирует нули и единицы с ними.  Выберите ячейки AB2 и AC2 и перетащите / заполните вниз.  Теперь у вас есть данные, подходящие для XY Scatter Chart.

Ваши фиктивные / тестовые данные:

Ваш реальный (нереальный?) данные:

5

К сожалению, Excel не может создать эту диаграмму из данных, отформатированных так, как у вас есть, необходимо преобразовать их.

Вы можете сделать это с помощью двух формул:

  • координаты x: =INDEX($A$2:$B$95,INT(ROW()/4)+1,INT(MOD(ROW(),4))/2+1)
  • координаты y: =INT(MOD(ROW()-1,4)/2)

Затем просто вставьте xy диаграмму в ваши данные

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .