2011-11-18 45 views
10

Tôi có biểu đồ hình tròn với nhiều lát rất khó đọc. Có thể giảm số lượng lát, bằng cách nhóm nhỏ nhất trong một tên "người khác" hay ẩn chúng?highcharts: biểu đồ hình tròn - giảm số lượng lát

+2

Bạn không thể không chuyển quá nhiều mục vào Highcharts? Vì bạn kiểm soát JSON bạn gửi, bạn có thể tổng hợp chúng trước khi gửi. – mynameiscoffey

+0

Liên quan: http://stackoverflow.com/questions/28883606/group-smaller-slices-in-pie-charts-to-improve-readability –

+0

Như OP, tôi rất thích xem hành vi này được xây dựng nó: bạn sẽ chỉ định số lượng tối đa các lát để hiển thị, tên của "danh mục khác" cũng như cột sắp xếp và thứ tự sắp xếp. Sau đó, highchart có thể tự động tổng hợp tất cả các cột còn lại vào danh mục khác và xem chi tiết các chi tiết khi được nhấp. Ngoài ra, khi xuất, bạn sẽ thấy tất cả các danh mục (không có nhóm ở đó). Làm tất cả những điều đó bằng tay là một nỗi đau. –

Trả lời

6

Không. Hành vi này không được tích hợp vào highcharts.

Cách dễ nhất để đạt được điều này là bằng cách thay đổi thủ công dữ liệu bạn chuyển sang biểu đồ. Tức là nếu bạn nhóm vào danh mục 'Khác' trước khi bạn chuyển dữ liệu và hiển thị biểu đồ

0

Dán một số thông tin vào đây làm con trỏ cho những người muốn thực hiện ở trên với javascript bên ngoài Highcharts, như tôi đã tự làm.

for(i=0; i<dataJSON.finished.length; i++) { 
    //console.info(i); 
    if(dataJSON.finished[i].name !== '_all_' && dataJSON.finished[i].name !== 'Anders')   { 
     tempValue=0; 
     for(j=0; j<dataJSON.finished[i].data.length; j++) { tempValue += dataJSON.finished[i].data[j]; } 
     if(tempValue/totalValue > 0.02) { 
     pieData.push({ name:dataJSON.finished[i].name, y:tempValue }); 
     } else andersValue += tempValue; 
    } 
    } 

    //console.info(pieData); 
    pieData.sort(function(a,b) {return (a.y > b.y) ? -1 : ((b.y > a.y) ? 1 : 0);}); 
    pieData.push({ name: "Overig", y: andersValue }); 
Các vấn đề liên quan