Amcharts — объединяйте функции parseDates, connect и Guides.

Я пытаюсь сделать диаграмму с направляющими и возможным пробелом в данных.

Чтобы управлять разрывом, нам нужно использовать опцию «connect: false» на соответствующем графике. Пример: http://www.amcharts.com/demos/chart-with-gaps-in-data/

Насколько я понял, параметр «подключиться» не может быть применен, если «parseDates» и «minPeriod» в «CategoryAxis» не были определены. Вы можете проверить это по предыдущей ссылке. Удалите «parseDates» и «minPeriod», опция «подключить» графа игнорируется.

И в следующем примере: http://www.amcharts.com/demos/stacked-area/# Используем "направляющие". (Красная область в этом примере)

Если мы добавим «parseDates» в «CategoryAxis», направляющие исчезнут...

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

Итак, мой вопрос: можем ли мы объединить эти 3 функции?


person Captain Nemo    schedule 19.10.2015    source источник


Ответы (1)


Вам не нужно использовать parseDates: true для отображения пробелов в графике.

При использовании данных на основе дат (parseDates: true) диаграмма автоматически вычисляет пробелы в данных.

Если вы используете данные на основе рядов, у вас все еще есть несколько «ручных» опций для указания пробелов:

1) Используйте gapField, чтобы указать, какое поле в данных может содержать логическое значение, указывающее разрыв. Если поле gapField в данных содержит true, диаграмма разорвет линию после этой точки данных и отобразит пробел.

"dataProvider": [ {
  "year": 1994,
  "cars": 1587,
  "motorcycles": 650,
  "bicycles": 121
}, {
  "year": 1995,
  "cars": 1567,
  "motorcycles": 683,
  "bicycles": 146,
  "gap": true
}, { // will display a gap between 1995 and 1996
  "year": 1996,
  "cars": 1617,
  "motorcycles": 691,
  "bicycles": 138
}, {
  "year": 1997,
  "cars": 1630,
  "motorcycles": 642,
  "bicycles": 127
}, {
  "year": 1998,
  "cars": 1660,
  "motorcycles": 699,
  "bicycles": 105
} ]

2) Пропустить поле значения для конкретной точки данных. Если есть точка данных, которая не имеет определенного поля, указанного на графике valueField, она также разорвет линию.

"dataProvider": [ {
  "year": 1994,
  "cars": 1587,
  "motorcycles": 650,
  "bicycles": 121
}, {
  "year": 1995,
  "cars": 1567,
  "motorcycles": 683,
  "bicycles": 146
}, {
  "year": 1996 // will display a gap on 1996
}, {
  "year": 1997,
  "cars": 1630,
  "motorcycles": 642,
  "bicycles": 127
}, {
  "year": 1998,
  "cars": 1660,
  "motorcycles": 699,
  "bicycles": 105
} ]
person martynasma    schedule 23.10.2015
comment
Я пробовал, но разрыв не отображается при настройке graph.connect = false, categoryAxis.parseDates = true и categoryAxis.minPeriod = "mm". Есть идеи? - person pekcheng; 24.08.2016
comment
Это отдельный вопрос. Пожалуйста, напишите нам по адресу [email protected], и мы решим эту проблему. Если возможно, укажите код диаграммы и данные. - person martynasma; 24.08.2016