Создавайте многоразовый код для создания калибровочных диаграмм.
- Ниже приведены подробности кода javascript, который используется для создания калибровочной диаграммы. Это повторно используемый код с несколькими параметрами, которые можно настроить.
Начнем с создания класса GaugeChart и конструктора, который принимает параметры для построения датчика.
· ChartColor: цвет диаграммы по умолчанию, когда анимация не происходит (когда диаграмма не обновляется значением).
· innerRadius: внутренний радиус дуги.
· outerRadius: внешний радиус дуги.
· NeedleColor : цвет иглы.
· Поле: поле для диаграммы, если вокруг диаграммы требуется свободное пространство. По умолчанию будет учитываться пространство в 1 пиксель.
· NeedleHeight: если пользователю нужна какая-либо конкретная высота для иглы, можно указать, иначе игла будет охватывать внешний радиус дуги.
· ColorPerPercent : это значение словаря, которое содержит значения в форме
«‹‹ColorCode››» : {«start»:‹‹startPercent››», «end»:‹‹endPercent ››}
«ColorCode»: это цвет дуги, который будет отображаться, когда стрелка указывает между процентами «startPercent» и «endPercent».
· Id: идентификатор элемента, внутри которого будет создана диаграмма.
- Далее давайте попробуем создать калибровочную диаграмму с параметрами, полученными выше.
Оценим высоту и ширину графика, исключая поля. И установите идентификатор для диаграммы, начиная с Gauge_ и добавляя идентификатор элемента, переданный в качестве параметра. Код this.id.replace(/\s+/g,"") удаляет все пробелы в идентификаторе, переданном в качестве параметра.
Сначала создайте элемент svg с оцененными идентификатором, высотой и шириной.
Переместите диаграмму так, чтобы она выровнялась по предоставленным полям, а также по центру.
Чтобы нарисовать дугу и стрелку из центра диаграммы, поместите курсор в середину диаграммы.
Создание и дуга с внутренним радиусом и внешним радиусом
Поскольку нам нужно будет создать верхнюю полудугу, начальный угол должен быть установлен на Math.PI/2
, а конечный угол — на –Math.PI/2.
Добавьте дугу к диаграмме с цветом и границей диаграммы по умолчанию.
Stroke-width — это граница дуги.
Далее давайте оценим угол начала иглы. Давайте рассмотрим 0 градусов для крайнего левого угла и 180 градусов для крайнего правого угла.
0 градусов равно 0%
90 градусов равно 50%
180 градусов это 100%
Приведенный ниже код преобразует проценты в радианы для позиционирования стрелки.
А пока давайте рассмотрим 0deg.CenterX и CenterY со значением 0.
Теперь вычислите позиции X и Y, чтобы нарисовать иглу.
Теперь нарисуйте иглу так, чтобы игла указывала на 0 градусов (0%). Положение иглы должно быть центральным.
Нарисуйте маленький круг в нижней части иглы. Круг на 2 пикселя больше радиуса иглы.
Результат: Приведенный выше код создает приведенный ниже график.
Теперь давайте добавим html-код для создания измерительной диаграммы с указанными ниже входными параметрами.
Теперь давайте перейдем к включению функции обновления
В этом случае игла создается для каждого угла в градусах, а цвет дуги изменяется в соответствии с тем, куда указывает игла в данном случае.
Функция selectColor() определяет цвет дуги в зависимости от положения стрелки. Это устанавливается в соответствии с предоставленными входными данными в соответствии с начальным и конечным процентом и цветами для каждого.
chart.updateGaugeChart(0,63);
с приведенным выше кодом переместит стрелку на 63% и установит цвет дуги от синего → зеленого → красного по мере движения иглы по пути.
Результат :
Пожалуйста, найдите полный код в репозитории git: