Добавьте «События» в линейный график временных рядов (вертикальная линия или разброс по осям XY)

896
C Bauer

У меня есть график Excel, который отображает цену с течением времени для учетной записи облачной службы, но я хотел бы добавить к ней события, которые могли бы изменить цены (например: «Прекращена работа VM» или «очищены неиспользуемые файлы»)

Ряд данных основан на выводе счета-фактуры Azure, но события не совпадают с точками данных серии X. Пример: Azure выставляет мне счет 4-го числа каждого месяца за 12 точек данных, но события могут происходить в любой день.

Верхний график ниже - это то, что я имею сейчас, нижний - то, что я хочу: What I got vs what I want

Вот данные, с которыми я работаю:

Общая цена

Overall Price

События

Events

2
Использовать вторичную ось? mcalex 6 лет назад 0
Когда я пытаюсь это сделать, ряд линий разбивается о левую сторону, затем разброс XY оказывается разбитым вдоль правой стороны. Я предполагаю, что это как-то связано с тем, что диапазоны дат не связаны. Я родом из мира, где вы просто «добавляете» записи в область значений x и просто объявляете новую серию значений y, но этого здесь нет. C Bauer 6 лет назад 0
Как правило, для чего-то подобного вам нужно использовать XY / Scatter-диаграмму для всего, а не комбинированную диаграмму, которая включает компонент линейной диаграммы. Линейные диаграммы используют категориальную ось, поэтому она не может легко соответствовать горизонтальной оси XY. dav 6 лет назад 0
Пожалуйста, объясните более четко. Красные линии - это «события», которые вы добавили? Они нанесены на график или вы нарисовали их в качестве примера? Я упоминаю об этом, потому что линия справа не вертикальная. Если последнее, вы можете построить вертикальную линию, добавив новый ряд данных только с двумя точками. Два x-значения будут датой появления строки, а два y-значения будут 0 и 6000, или настолько высокими, насколько вы хотите, чтобы линия шла. Кроме того, что сказал Дав - это должен быть точечный заговор. Bandersnatch 6 лет назад 0
Красные линии - это «события», и я добавил их, чтобы проиллюстрировать, чего я хочу. Должен ли весь график быть точечным графиком? Прямо сейчас тип диаграммы - «комбинированный» с 1 линией и 1 разбросом, а 2 таблицы находятся на отдельных листах. C Bauer 6 лет назад 0
Это НЕ ДОЛЖНО быть чистой диаграммой XY / Scatter, но с ней будет гораздо проще справиться, если это так. dav 6 лет назад 0
Я добавил наборы данных, с которыми я работаю C Bauer 6 лет назад 0

2 ответа на вопрос

2
dav

Я бы подошел к этому немного иначе, чем Bandersnatch (хотя принцип тот же).

Поскольку вы уже получили данные своего счета в таблицу данных Excel (что хорошо), я бы сделал следующее:

1) Создайте XY / Scatter Chart, используя вашу таблицу данных для первичного ряда данных, с:
x axis = Date
y axis = Amount

2) Создайте вторую таблицу для ваших данных события. Вам понадобятся 3 столбца Date, Amount, Description.

3) Столбцы «Дата» и «Описание», которые можно извлечь из текущей таблицы. Простой способ сделать это - добавить серию событий, используя в Dateкачестве оси x, а затем использовать одно вспомогательное значение (например, 0 или 6000) для оси y. Это выровняет все ваши точки по вертикали, но не по вашей линии.
Что бы я сделал, это интерполировал бы значение оси Y для вашей даты и использовал бы это как ваш ряд оси Y. Используя комбинацию структурированных имен (так как вы используете таблицы данных) и формулы FORECAST.LINEAR, MATCH и OFFSET, ваша формула столбца суммы таблицы событий будет выглядеть примерно так:

=FORECAST.LINEAR([@Date], OFFSET(tbl_Overall_Price[[#Headers],Date]], MATCH([@Date],tbl_Overall_Price[Date],1),1,2,1), OFFSET(tbl_Overall_Price[[#Headers],[Date]], MATCH([@Date],tbl_Overall_Price[Date],1),0,2,1)) 

enter image description here

4) Затем добавьте свою серию данных о событиях в свой график и отформатируйте по вкусу.

enter image description here

5) Теперь, когда Excel 2016 позволяет использовать диапазон ячеек для меток данных, просто используйте столбец «Описание» для меток.

Это довольно гладко, Дав. Мне это очень нравится. +1 Bandersnatch 6 лет назад 0
0
Bandersnatch

Я не совсем уверен, что вы спрашиваете, но вот график ваших данных с добавлением строк на даты во второй таблице.

Это график рассеяния, созданный из этих данных:

enter image description here

Красные линии - это две дополнительные серии, добавленные путем указания двух нижних областей в штучной упаковке в таблице данных в качестве значений x и y для двух серий. Вы можете пометить строки текстовыми полями, чтобы идентифицировать связанные события.

enter image description here

Я попробовал это только сейчас, когда я добавляю ряд данных 2 как «События» и помещаю значения X в качестве дат событий, а затем устанавливаю значения y в «1», я просто получаю одну точку в неправильном месте на граф. У меня также есть дополнительная ось X в верхней части графика и еще одна справа, так что мне нелегко это сделать! Это странно, потому что древовидные карты, круговые диаграммы и простая линейная диаграмма никогда не сбивают меня с толку. C Bauer 6 лет назад 0
Вы должны иметь * две * точки данных, чтобы сформировать линию. Таким образом, вы должны располагать данные, как я показал. При добавлении серии введите диапазон значений x для Series2 как (например) A: 15: A16, а значения y как B15: B16. Но используйте соответствующие диапазоны, в которых находятся ваши данные. Bandersnatch 6 лет назад 0
Обратите внимание, что для добавленной серии это должен быть точечный график, чтобы выровнять правильные даты. Это нормально, чтобы события были на отдельном листе. Bandersnatch 6 лет назад 0

Похожие вопросы