Я хочу заполнить только часть графика (указанный x-диапазоном), а не полное заполнение, как это делается с помощью опции fillGraph. Возможно ли это в настоящее время?
Можно ли заполнить только части графа в библиотеке dygraph?
Ответы (1)
Один из вариантов — разделить серию данных на две части: одну для закрашенной области и одну для других областей. Затем вы можете установить fillGraph
только для заполненной серии:
new Dygraph(div,
[
[1, 3, null],
[2, 6, null],
[3, 8, null],
[4, 9, 9 ],
[5, null, 9 ],
[6, 8, 8 ],
[7, 6, null],
[8, 3, null]
], {
// note: second 'Y' series has a space, to distinguish it. (hack!)
labels: ['X', 'Y', 'Y '],
series: {
'Y': {
color: 'blue'
},
'Y ': {
fillGraph: true,
color: 'blue'
}
}
});
См. эту скрипту.
Это выглядит правильно, но у него есть обратная сторона: ваши данные становятся более сложными и отображаются два значения y в легенде, когда вы наводите указатель мыши на точку перехода.
В качестве альтернативы можно написать пользовательский плоттер, который заполняет только конкретного региона. Вы можете посмотреть эту демонстрацию и этот вопрос для вдохновения.
person
danvk
schedule
15.09.2015
Большое спасибо! Я думаю, мне нужно будет написать собственный плоттер, как вы предложили.
- person spidersharma; 16.09.2015
Вариант использования в основном состоит в том, чтобы заполнить часть графика на графике скорость-время и показать, что область под кривой (заполненная с помощью пользовательского плоттера) в основном представляет собой расстояние. Также я буду делать плоттер, чтобы показать касательные в заданной точке, чтобы показать различные физические/математические понятия. Я обновлю, как только напишу эти пользовательские плоттеры и захочу интегрировать их в dygraph. Еще раз спасибо, и продолжайте в том же духе!
- person spidersharma; 16.09.2015