В HIGHCHARTS невозможно установить максимальную точку на датчике - PullRequest
0 голосов
/ 05 мая 2018

Я использую твердотельный измеритель HIGHCHARTS с min - 0 и max - 18, в то время как максимальное значение равно 18, и его значение равно 20.

Датчик скорости должен быть от -0 до 18 Мой уровень поля хранится в двойном типе данных.

оп- макс 20 ожидаемая операция - максимум 18

код

var chartSpeed = Highcharts.chart('container-speed', Highcharts.merge(gaugeOptions, {
                yAxis: {
                    min: 0,
                    max: 18.0,
                    title: {
                        text: 'Filled'
                    }
                },
                    credits: {
                    enabled: false
                },
                    series: [{
                    name: 'Speed',
                    data: [@Model[0].filled.ToString("N2")],
                    dataLabels: {
                        format: '<div style="text-align:center"><span style="font-size:25px;color:' +
                        ((Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black') + '">{y}</span><br/>' +
                        '<span style="font-size:12px;color:silver">Feet</span></div>'
                    },
                    tooltip: {
                        valueSuffix: ' km/h'
                    }
                }]

                    }));
                    var a = @System.Configuration.ConfigurationManager.AppSettings["8"];
                    var chartRpm = Highcharts.chart('container-rpm', Highcharts.merge(gaugeOptions, {
                        yAxis: {
                            min: 0,
                            max: 100,
                            title: {
                                text: 'Filled %'
                            }
                        },
                                series: [{
                            name: 'Filled %',
                           data: [(@Model[0].filled)/ a * 100],
                            dataLabels: {
                                format: '<div style="text-align:center"><span style="font-size:25px;color:' +
                                ((Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black') + '">{y:.1f}</span><br/>' +
                                '<span style="font-size:12px;color:silver">% Percentage</span></div>'
                            },
                            tooltip: {
                                valueSuffix: 'Percentage'
                            }
                        }]
                   }));

            setInterval(function () {
                           var point,
                    newVal,
                    inc;
    }, 2000);

1 Ответ

0 голосов
/ 07 мая 2018

Я решил вашу проблему, добавив к датчику функцию tickPositioner, которая возвращает значение min и max в качестве позиции, решая проблему с tickInterval, с которой вы, скорее всего, столкнулись. Это заставит код оси Y выглядеть следующим образом:

 yAxis: {
    min: 0,
    max: 18,
    tickPositioner: function() {
      return [this.min, this.max];
    },
    title: {
      text: 'Speed'
    }
  },

У меня есть рабочий образец, полученный из демонстрации Highcharts здесь . Он не включает в себя ваш код, так как многие из них мне не хватало для его воспроизведения, но он показывает максимум 18 на индикаторе скорости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...