2017-02-02 12 views
1

я воспроизводимой мой вопрос здесь: http://jsfiddle.net/1bf4ob05/4/Нулевые точки из развертки остаются на экране при последующем развертке в другом месте

А вот вопрос на GitHub: https://github.com/highcharts/highcharts/issues/6308

Есть некоторую конфигурация, которая должна быть прошло. Это происходит, когда вы передаете данные и mapData отдельно (см. Скрипку или ниже), и не все точки данных детализации имеют значения. Нулевые точки от одной развертки по-прежнему отображаются на развертке второго.

mapData : myMapData, 
data : myMockData, 

Нужно ли мне что-то делать ясно или что-то в моем детализации?

+0

Я не могу видеть, что нулевая точки остаются после развертки. Новые нулевые точки показаны для определенного состояния - вы хотите отключить нулевые точки после развертки? Если это так, вы можете установить allAreas на false в событии детализации для серии разверток - http://jsfiddle.net/1bf4ob05/5/ – morganfree

+0

Я не хочу, чтобы все области были ложными, потому что тогда они не рисуют. Посмотрите на две ссылки, приведенные выше, и вы увидите, что нулевые точки из Калифорнии появляются при развертке NY и наоборот. – es3735746

+0

Тем не менее, я не могу воспроизвести его. Какой OS/браузер вы используете? Почему вы отмечаете вопрос как highcharts-ng и reactjs? – morganfree

ответ

0

Проблема, которую вы испытываете здесь, с точками «reoccuring» в новых выпадающих списках, заключается в том, что вы используете единый массив для ваших данных, используемых в нескольких выпадающих меню. У вас есть:

var myMockData = [ 
    { 
     "hc-key": "us-ca-075", 
     "value": 10 
    }, 
    { 
     "hc-key": "us-ny-045", 
     "value": 40, 
    }, 
    // ... 
]; 

Этот массив изменяется при использовании mapData и data в операции слияния на основе 'hc-key'. Это бесполезно для использования в будущих раскрывающихся списках. Распечатайте myMockData после выпадающего списка, чтобы посмотреть, как он выглядит.

Вместо этого вы могли бы использовать отдельные массивы для каждого нового выпадающего списка, например, как это (JSFiddle):

myMockData = { 
    'California': [ 
     { 
      "hc-key": "us-ca-075", 
      "value": 10 
     }, 
     // ... 
    ], 
    'New York': [ 
     { 
      "hc-key": "us-ny-045", 
      "value": 40, 
     }, 
     // ... 
    ] 
}; 

И изменить addSeriesAsDrilldown выглядеть следующим образом:

chart.addSeriesAsDrilldown(e.point, { 
    name: e.point.name, 
    mapData:myMapData, 
    data:myMockData[e.point.name], 
    // ... 
}); 

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

  • Нет связанных вопросов^_^