2012-04-12 36 views
5

Tôi cố gắng để làm việc ra làm thế nào để cập nhật một biểu đồ pie Highcharts nhưng đối với cuộc sống của tôi dường như không thể có được nó làm việc ngay.Highcharts: Cập nhật một biểu đồ Pie với SetData()

Tôi đã nhìn qua tài liệu và đã có thể để có được một quầy bar và dòng và spline đồ thị để cập nhật tốt nhưng khi sử dụng chức năng này cho các biểu đồ pie nó chỉ không hoạt động.

Tôi hiện đang ăn ở:

item.setData([["none", 100]], true); 

đâu mục bằng loạt những thứ tương tự như vậy:

$.each(browser_chart.series, function(i, item){ 
    if(item.name == 'Browser share'){ 
     console.log(data.browsers); 
     item.setData([["none", 100]], true); 
    } 
}); 

nào như trong bản demo là cách dữ liệu cho một biểu đồ pie được định dạng. Vấn đề là nó dường như không thể đọc được chuỗi chính xác. Tôi thử:

item.setData([\"none\", 100], true); 

Và dường như làm điều gì đó nhưng không thể đọc giá trị x và y đúng (tất nhiên điều đó có nghĩa là sai).

ai ở đây có thể chỉ cho tôi hướng để làm việc này?

Cảm ơn,

Trả lời

7

được sửa đổi:
Khi bạn thiết lập một dữ liệu mới, bạn phải thiết lập như là mảng của mảng cho tất cả các phần bánh trong trường hợp này.
Trong số Example Tôi có sáu danh mục, vì vậy tôi đã đặt dữ liệu cho tất cả các danh mục đó.

Vì vậy, trong trường hợp này bạn phải làm một cái gì đó như: Câu trả lời Ricardos

var seriesData = []; 
$.each(browser_chart.series, function(i, item) { 
    if(item.name == 'Browser share'){ 
     seriesData.push(["serie"+i, someNumber]); 
    } 
}); 
chart.series[0].setData(seriesData, true); 
+0

Hmm mà không làm việc nhưng ví dụ của bạn đã làm cho tôi biết tại sao. Khi tôi cập nhật biểu đồ hình tròn, tôi thực sự bỏ lỡ các điểm trong chuỗi vì một số trình duyệt không có giá trị cho phạm vi ngày mà người dùng của tôi đã chọn. Có vẻ như khi tôi cập nhật với ít điểm hơn tôi ban đầu, nó có vẻ không thể cập nhật đúng và ném một lỗi khó chịu. Bạn có biết dù sao về điều này? – Sammaye

+0

Tôi đã có thể làm việc này với các điểm khác nhau bằng cách làm lại biểu đồ hình tròn với Highcharts.Chart() mới nhưng nó hơi xấu xí, đây có phải là cách duy nhất để làm điều đó bạn có biết không? – Sammaye

0

Tôi đã đánh dấu tuy nhiên câu hỏi của tôi liên quan đến một chút nữa mà tôi không giải thích đúng cách.

tôi đã cập nhật các biểu đồ pie qua AJAX JSON từ được tạo ra bởi một phụ trợ PHP. Khi tôi áp dụng dữ liệu mới cho biểu đồ hình tròn, nó sẽ phá vỡ.

Sử dụng câu trả lời Ricardos tôi đã có thể tìm ra nó được bởi vì tôi có một số lượng khác nhau của các điểm để tôi có thể không chỉ cập nhật các biểu đồ pie tôi phải làm lại nó như vậy:

browser_chart_config.series[0].data = data.browsers; 
browser_chart = new Highcharts.Chart(browser_chart_config); 

này sẽ cho phép bạn cập nhật biểu đồ khi bạn có số điểm khác nhau.

Hy vọng nó giúp,

EDIT: Tôi cũng phát hiện ra rằng đây là một vấn đề được biết đến với HighCharts: https://github.com/highslide-software/highcharts.com/issues/542

+0

Chỉ hoạt động khi bạn đặt tất cả dữ liệu serie, vì vậy trong trường hợp của bạn, bạn phải hủy biểu đồ và thực hiện lại. : / –

Các vấn đề liên quan