Tôi đang tạo biểu đồ thông qua Google Chart Tools, trong một trang web sử dụng khung công tác Twitter Bootstrap. Có ba loại biểu đồ được hiển thị - biểu đồ dạng bánh, đường và cột, mỗi biểu đồ trong tab riêng lẻ. Dữ liệu biểu đồ được nhận thông qua Ajax.Google Charts và Twitter tab Bootstrap
Ngay lập tức khi nhận dữ liệu qua Ajax, biểu đồ được hiển thị tốt. Nhưng nếu tôi chuyển sang tab khác, tức là, một biểu đồ khác và quay lại biểu đồ đầu tiên, các nhãn trong biểu đồ sẽ được căn chỉnh lại không chính xác.
bao gồm ở đây là những hình ảnh cho thấy vấn đề, trước và sau khi thay đổi tab:
Vấn đề này xảy ra cho các dòng và cột bảng xếp hạng quá.
Nhưng vấn đề không xảy ra nếu tôi thay đổi cửa sổ và sau đó quay lại hoặc nếu tôi ẩn và sau đó hiển thị lại biểu đồ. Nó chỉ xảy ra nếu tôi thay đổi các tab.
Các mark-up cho các tab là như thế này:
<div class="charts-div" style="text-align: center">
<ul class="nav nav-tabs">
<li class="active"><a href="#tab-pie" data-toggle="tab">Pie</a></li>
<li><a href="#tab-line" data-toggle="tab">Line</a></li>
<li><a href="#tab-column" data-toggle="tab">Columns</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab-pie">
<div class="chart pie-chart" id="pie-prt"></div>
</div>
<div class="tab-pane" id="tab-line">
<div class="chart line-chart" id="line-prt"></div>
</div>
<div class="tab-pane" id="tab-column">
<div class="chart column-chart" id="column-prt"></div>
</div>
</div>
</div>
Checked trong Chrome 22, IE9 và Firefox 12. Kết quả là như nhau. Không có mã/sự kiện bổ sung được lập trình ở cuối của tôi để thay đổi tab hoặc sự kiện lấy nét tab.
Hôm nay, tôi đã nhận được cùng một vấn đề mohitp mô tả, nhưng gọi 'chart.draw()' một lần nữa đã không giúp đỡ. Cuối cùng, tôi đã giải quyết vấn đề bằng cách tạo đối tượng biểu đồ trong trình xử lý sự kiện 'được hiển thị' (ví dụ:' biểu đồ = new google.visualization.PieChart (...) '), sau khi các tham số' div' được sửa. – shr
Bạn có chắc chắn chuyển tất cả các đối số khi bạn gọi là 'chart.draw' không? – Noz
Làm thế nào điều này có thể làm việc cho một ví dụ như thế này: http://jsfiddle.net/Khrys/axr7h/? Cảm ơn – Khrys