Страница 1 из 1

Условное отображение маркеров

Добавлено: 09 авг 2016, 08:54
DmitryRu
Есть вот такой набор данных
sql.png
sql.png (9.4 КБ) 1958 просмотров
Требуется нарисовать линию, причем для значений со статусом 1 надо нарисовать красный маркер, для значений со статусом 0 маркер не нужен.

Попробовал нарисовать на чарте 2 линии. Одна (Series 1) без маркеров, другая (Marker Line), по тем же данным, с маркерами, а стиль линии - пусто. Для второй линии на уровне Series Editor включен Filter
Однако получилась ерунда, точки не наложились на основную линию, а на оси X виден бардак - отметки на оси X: 1, 3, 2, 3
bardak.png
bardak.png (15.18 КБ) 1958 просмотров
Прошу подсказать, возможно ли на диаграмме нарисовать маркеры условно?
Просматриваю с помощью стандартного Designer.exe 2016.1.16.0

С уважением,
Дмитрий.

Re: Условное отображение маркеров

Добавлено: 09 авг 2016, 11:16
HighAley
Здравствуйте, Дмитрий.

Линейный чарт показывает значения один за другим без привязки к оси X.
В этом случае вам следует использовать Scatter chart.
Смотрите, приложенный отчёт.
markers.mrt
(30.16 КБ) 313 скачиваний
Спасибо.

Re: Условное отображение маркеров

Добавлено: 10 авг 2016, 10:09
DmitryRu
Здравствуйте.
Линейный чарт показывает значения один за другим без привязки к оси X.
Интересная логика, мне это было не очевидно.
В документации об этом тоже не говорится напрямую:
Данные, которые расположены в столбцах или строках, можно изобразить в виде линий. Линии позволяют изображать непрерывное изменение данных с течением времени в едином масштабе; таким образом, они идеально подходят для изображения трендов изменения данных с равными интервалами. На графиках категории данных равномерно распределены вдоль горизонтальной оси, а значения равномерно распределены вдоль вертикальной оси.
В общем, совет со Scatter Chart мне не пригодился, потому что физическая величина, отображаемая в отчете, меняется ступеньками (нужен Stepped Line).
Я выкрутился по другому, в источнике данных завел вычисляемое поле:

Код: Выделить всё

public int? ValueWithStatus() {
  return DataSource1.YStatus == 0 ? (int?) null: DataSource1.Y;
}
И для Series, на которой отображаются маркеты, установил свойство Show Nulls = false
Кроме того, для этой Series необходимо свойство Sort By = None и установленное свойство Value Data Column (через Value не работает)

C уважением,
Дмитрий

Re: Условное отображение маркеров

Добавлено: 10 авг 2016, 17:38
HighAley
Здравсвтуйте.

Спасибо за замечание, документацию мы переповерим.

Мы рады, что вы решили свою проблему.

Спасибо.