2016-06-07 4 views
1

Я рисую график разброса с использованием highchart.js.HighCharts: значения категории повторяются. Подсказка, не отображающая правильную дату

X-Axis: "Servers" [Список серверов "17.0.0.1", "17.0.0.2", "17.0.0.3", "17.0.0.4". Y-Axis: «DateTime» {последние 5 дней с интервалом 6 часов}

В основном серверы обновляются повторно в течение определенного дня и данные захватываются и сохраняются в базе данных. На диаграмме будут считываться данные таблицы базы данных и рисуется график.

Теперь, для тряски простоты, я жестко закодирован и показан здесь.

Вот ссылка на JSBIN. http://jsbin.com/joxacen/2/edit?js,output

  1. Категории, "17.0.0.3" и "17.0.0.4" повторяются. Я не хочу, чтобы это повторялось. Как это решить? Пожалуйста, найдите изображение для повторяющихся значений.
  2. Следующие даты не окрашены для сервера 17.0.0.1 ['Server 17.0.0.1', Date.UTC (2016, 5, 2, 20, 0, 0)], // не нарисован june 2nd [ 'Server 17.0.0.1', Date.UTC (2016, 5, 4, 11, 0, 0)], // не окрашен 4 июня
  3. Всплывающая подсказка показывает некоторые нежелательные данные. В идеале это должно показать мне дату.

Repeated values are encircled here

+2

Я бы предложил отправить индекс массива категорий как значение x, а не значение категории: http://jsbin.com/fuhopeqeva/1/edit?js,output – jlbriggs

ответ

3

Это происходит потому, что ваш массив данных серии содержит серверы в указанном порядке (с повторением). Поэтому он переопределяет настройку xAxis.categories. Для того, чтобы сделать это с помощью предопределенных категорий изменить вашу запись х-значения в массиве данных для индекса сервера в категории вы хотите:

series: [{ 
    name: 'In-Correct Server Refresh', 
    color: 'rgba(223, 83, 83, .5)', 
    data: [ 
     [0, Date.UTC(2016, 5, 2, 10, 0, 0)], 
     [0, Date.UTC(2016, 5, 2, 20, 0, 0)], //not painted june 2nd 
     [1, Date.UTC(2016, 5, 4, 10, 0, 0)], 
     [0, Date.UTC(2016, 5, 4, 11, 0, 0)], //not painted june 4th 
     [2, Date.UTC(2016, 5, 4, 17, 0, 0)], 
     [3, Date.UTC(2016, 5, 4, 11, 30, 0)], 
     [3, Date.UTC(2016, 5, 4, 12, 0, 0)] 
     ] 
}, { 
    name: 'Correct Server Refresh', 
    color: 'rgba(119, 152, 191, .5)', 
    data: [ 
     [1, Date.UTC(2016, 5, 3, 5, 0, 0)], 
     [1, Date.UTC(2016, 5, 3, 12, 0, 0)], 
     [1, Date.UTC(2016, 5, 3, 17, 0, 0)], 
     [0, Date.UTC(2016, 5, 5, 18, 0, 0)], 
     [2, Date.UTC(2016, 5, 5, 18, 0, 0)] 
     ] 
}] 

Проблема с вашей подсказкой, что у Вас есть свои свойства в неправильном месте под plotOptions. Он должен быть внутри plotOptions.scatter или у корня объекта диаграммы. См. Этот пример fiddle. Я не уверен, почему вы добавляете символ % после IP-адреса своего сервера, но там вы идете.

+0

спасибо. Принял ваш ответ. Да,% не требуется, это ошибка. http://jsfiddle.net/wergeld/eyq0f1sz/ – Raghu

+0

это может помочь кому-то. здесь приведен пример дополнительных данных вместе с x и y на всплывающей подсказке. http://jsbin.com/joxacen/5/edit?html,js,output – Raghu

Смежные вопросы