Re: Модуль Charts
Добавлено: Пн фев 06, 2017 1:31 pm
Попросил Сергея внести clock в его модуль charts
Ещё раз попрошу о помощи, как настроить шкалу отображения для графика?EvgenyG писал(а):upEvgenyG писал(а):up
ещё для температуры необходимо задавать диапазон для шкалы
у меня в полу 2 датчика температуры
они показывают температуру с разницей от 0.1 до 2 градусов
на графике у них почти всегда разные шкалы
оооочень неудобно
Планируется ли расширение функционала и добавление возможности установки диапазона для шкалы?
Установите период отличный от нуля и появятся остальные графики.directman66 писал(а):Почему-то из типов графиков есть только Gause и Solid Gaude. И нет класических графиков как на картинках.
Вроде нормальное поведениеserghei писал(а):Когда выключаю физически ардуину , последнее значение температуры остается в памяти МД и продолжают отображаться на графике. Это глюк модуля или кого то еще?
Нужно задать единицу измерения в настройках. Если не нужны никакие символы в единице измерения я ставлю точку.EvgenyG писал(а): Ещё раз попрошу о помощи, как настроить шкалу отображения для графика?
Можно ли объединить шкалы для графиков с одинаковыми единицами?
МДМ не причем. Это Highcharts так отрисовывает график: от последнего полученного значения до текущего момента рисует прямую линию. Такое решение имеет право на жизнь. Например, счетчик ошибок - он может только расти, сброс в нуль только принудительно, поэтому такой график выглядит естественно.serghei писал(а):последнее значение температуры остается в памяти МД и продолжают отображаться на графике. Это глюк модуля или кого то еще?
Скорее всего проблема с модулем. У меня древняя версия МД (около года). Индикаторы есть , но значений нет ( NaN ). На свежей системе значения появляются на 5 секунд и опять NaN. Браузер орет про не корректные имена свойств.I_I_Imonder писал(а): ...Добавил индикаторы на сцену, но они появляются на секунду и пропадают, куда рыть?
Код: Выделить всё
<body onload="init()">
<canvas id="canvasTin" width="401" height="401"></canvas> // Размер спидометра
<script>
var scroll = false;
var RadialTin;
function init() {
// Initialzing gauge
// Define some sections
//раскрасим шкалу -15..+15 голубой
//15...25 зеленый
//-30...-15,25...30 желтый
var sections = [steelseries.Section(-15, 15, 'rgba(0, 0, 220, 0.3)'),
steelseries.Section(15, 25, 'rgba(0, 220, 0, 0.3)'),
steelseries.Section(-30, -15, 'rgba(220, 220, 0, 0.3)'),
steelseries.Section(25, 30, 'rgba(220, 220, 0, 0.3)') ],
// Define one area
// розовый сектор
areas = [steelseries.Section(30, 40, 'rgba(220, 0, 0, 0.3)'),
steelseries.Section(-40, -30, 'rgba(220, 0, 0, 0.3)'),],
//treshold = 25 - лампочка начинает мигать
RadialTin = new steelseries.Radial('canvasTin', {
gaugeType: steelseries.GaugeType.TYPE4,
size: 401,
section: sections,
area: areas,
minValue:-40,
maxValue:40,
titleString: "Температура",
unitString: "Градусы",
threshold: 25,
lcdVisible: true
});
//RadialTin.setBackgroundColor(steelseries.BackgroundColor.WHITE);
RadialTin.setBackgroundColor(steelseries.BackgroundColor.STAINLESS); // Тут внутренности спидометра
RadialTin.setFrameDesign(steelseries.FrameDesign.GLOSSY_METAL); // Раскрашиваем обод спидометра
//upd
// live_upd("/pChart/?op=value&p=ws.tempInside", RadialTin);
live_upd("/pChart/?op=value&p=ow_fact.temperature", RadialTin);
// Start the update
//читаем данные каждые 7 с
setInterval(function(){ live_upd("/pChart/?op=value&p=ow_fact.temperature", RadialTin); },7000);
//setInterval(function(){ live_upd("/pChart/?op=value&p=ws.tempInside", RadialTin); },7000);
}
function live_upd(url,gauge) {
$.ajax({
url: url,
}).done(function(data) {
if (data!='') {gauge.setValueAnimated(parseFloat(data));}
});
}
</script>
<script src="../SteelSeries/jquery.js"></script> // скачиваем и прикручиваем библиотеку
<script src="../SteelSeries/tween-min.js"></script>
<script src="../SteelSeries/steelseries-min.js"></script>
</body>