2016-08-05 3 views
0

작은 부분을 다른 그룹과 함께 그룹화 할 수 있다면 파이/도넛 차트가 읽기 쉽습니다. 이 기능을 zeppelin-highcharts에 추가하고 싶습니다.하이 차트 - 파이/도넛 차트 그룹 작은 부분

이 예제에서는 Donut Chart입니다. Safari에는 읽을 수없는 작은 부분이 있습니다. 그 그룹에 더 나은 함께 나는이 jsfiddle

{ 
    name: 'Safari versions', 
    categories: ['Safari Other Versions', 'Safari v8.0'], 
    data: [2.21, 2.56], 
} 
내가 Highcharts API의 문서를 통해 이동

같은 다른 사람에게 그룹 작은 부분에 "사파리 다른 버전"

{ 
    name: 'Safari versions', 
    categories: ['Safari v5.0', 'Safari v5.1', 'Safari v6.1', 
       'Safari v6.2', 'Safari v7.0', 'Safari v7.1', 'Safari v8.0'], 
    data: [0.3, 0.42, 0.29, 0.17, 0.26, 0.77, 2.56], 
} 

을하고자하는,하지만 난이 이를 가능하게하는 구성이 없습니다.

하이 차트에이 기능을 구현하려면 어떻게해야합니까?

+0

당신이 드릴 다운과 파이 차트를 사용하여 고려 적이 있습니까? 당신이 선택한 경우 쉽게 도넛 형 차트로 변환해야합니다. http://www.highcharts.com/demo/pie-drilldown을 참조하십시오. –

+0

@MikeZavarello, 의견 주셔서 감사합니다. 필자는 도구를 제공하기 때문에 다른 사용자가 사용할 차트를 선택해야합니다. 그리고 단일 원형 차트의 경우, 작은 부분을 다른 그룹으로 그룹화하여 원형 차트에 극소수 (예 : 5 개)의 조각 만 표시하는 방법. –

+0

데이터가 차트에 어떻게 들어 옵니까? 아마도 특정 비율보다 작은 파이 조각을 먼저 그룹화 한 다음 차트에 시리즈 데이터로 추가 할 수있는 함수를 실행할 수 있다고 생각합니다. –

답변

1

차트를 만들기 전에 필터 기능을 추가 할 수 있다고 생각합니다. 로드 이벤트 콜백 함수에서 데이터를 필터링 할 수도 있습니다. 여기

당신은 콜백 함수의 코드 필터링 데이터의 간단한 예를 찾을 수 있습니다 여기에

var groupSmallData = function(series, number) { 
    var groupValue = 0, 
     newData = []; 
    Highcharts.each(series.data, function(p) { 
     if (p.y < number) { 
      groupValue += p.y; 
     } else { 
      newData.push([p.name, p.y]) 
     } 
    }); 
    newData.push(['others', groupValue]); 
    series.setData(newData) 
} 

당신이 그것을 작동하는 방법을 실제 예를 찾을 수 있습니다 http://jsfiddle.net/b33ynvaq/1/