2016-08-24 2 views
0

여러 차트가 표시된 페이지가 있습니다. 나는 테마 아래 코드에 따라 모든 차트에 사용되는 설정 :Highcharts.setOptions를 사용하여 색상이 변경되지 않습니다.

Highcharts.theme = { 
    colors: ["#E37B25", "F5BF36", "#7C1C1D", "#458744", "#3E7FA3", "#0C9BD7", "#265667"], 
    ... 
} 

Highcharts.setOptions(Highcharts.theme); 

나는 각 차트의 특정 옵션의 무리를 가지고 설정된 간격으로 차트를 만들 수 있습니다.

var chart; 
chart = new Highcharts.Chart(chartOptions); 

차트가 생성 될 때마다 배열을 회전하는 대신 배열의 첫 번째 색이 표시되는 것이 문제입니다. 나는 setOptions()이 각 차트에 대해 이것을 관리 할 것이라고 생각했지만 분명히 그렇지 않습니다. 어떻게하면 새 차트를 만들 때마다 new Highcharts.Chart(chartOptions)을 사용하여 배열의 다음 색을 선택할 수 있습니까? 배열

+2

차트 '색상'은 차트의 각 차트가 아닌 차트의 각 시리즈에서 사용되는 색상 배열입니다. 색상을 할당하기 위해 차트를 작성할 때'colors' 배열을 반복해야합니다 (각각의 차트에 단일 시리즈가 있다고 가정). – wergeld

답변

0

@wegeld은 주석으로 colors은 연속 방식 차트보다 차트 요소 라기 시리즈에 의해 사용되는 목록 옵션으로 제공된다.

하지만 이것이 필요한 경우 colorIterator을 만들고 다음을 수행 할 수 있습니다. https://codepen.io/mikhilraj/pen/KrjzxN/

var colorIterator = 0; 

function getColor() { 
    var color = Highcharts.getOptions().colors[colorIterator%Highcharts.getOptions().colors.length]; 
    colorIterator++; 
    return color; 
}; 

을 그리고 차트를 작성하는 동안 옵션으로에 다음을 추가 : 여기 당신을 위해 codepen 예제를 만들 수 있습니다.

series: [{ 
    name: 'John', 
    data: [0, 1, 4, 4, 5, 2, 3, 7], 
    fillColor: getColor() 
}] 
관련 문제