Gần đây tôi đã bắt đầu sử dụng biểu đồ NVD3 và muốn có tùy chọn phóng to như Highcharts. Có thể không?Có thể có tùy chọn phóng to trong biểu đồ NVD3 như trong Highcharts không?
8
A
Trả lời
5
Có một ví dụ "Biểu đồ đường có trình xem tìm kiếm" sử dụng nv.models.lineWithFocusChart()
. Loại biểu đồ này thể thao thêm "mini bản đồ" bên dưới biểu đồ chính mà bạn có thể sử dụng để phóng to và pan bảng xếp hạng:
1
Bạn có thể áp dụng chức năng này để biểu đồ nvd3 của bạn. Nó không mang lại một hộp có thể kéo để hỗ trợ thu phóng như trong Highcharts nhưng nó cho phép phóng to bằng cách cuộn chuột như được hiển thị ở đây: pan+zoom example. Bạn sẽ phải loại bỏ các chuyển tiếp/sự chậm trễ từ nvd3 để đạt được độ phóng đại trơn tru. Bây giờ, bạn có thể phải làm điều này bằng tay bằng cách thay đổi tệp nguồn nvd3. Có một cuộc thảo luận về điều đó here.
Đây là một jsfiddle.
function addZoom(options) {
// scaleExtent
var scaleExtent = 10;
// parameters
var yAxis = options.yAxis;
var xAxis = options.xAxis;
var xDomain = options.xDomain || xAxis.scale().domain;
var yDomain = options.yDomain || yAxis.scale().domain;
var redraw = options.redraw;
var svg = options.svg;
var discrete = options.discrete;
// scales
var xScale = xAxis.scale();
var yScale = yAxis.scale();
// min/max boundaries
var x_boundary = xScale.domain().slice();
var y_boundary = yScale.domain().slice();
// create d3 zoom handler
var d3zoom = d3.behavior.zoom();
// fix domain
function fixDomain(domain, boundary) {
if (discrete) {
domain[0] = parseInt(domain[0]);
domain[1] = parseInt(domain[1]);
}
domain[0] = Math.min(Math.max(domain[0], boundary[0]), boundary[1] - boundary[1]/scaleExtent);
domain[1] = Math.max(boundary[0] + boundary[1]/scaleExtent, Math.min(domain[1], boundary[1]));
return domain;
};
// zoom event handler
function zoomed() {
yDomain(fixDomain(yScale.domain(), y_boundary));
xDomain(fixDomain(xScale.domain(), x_boundary));
redraw();
};
// zoom event handler
function unzoomed() {
xDomain(x_boundary);
yDomain(y_boundary);
redraw();
d3zoom.scale(1);
d3zoom.translate([0,0]);
};
// initialize wrapper
d3zoom.x(xScale)
.y(yScale)
.scaleExtent([1, scaleExtent])
.on('zoom', zoomed);
// add handler
svg.call(d3zoom).on('dblclick.zoom', unzoomed);
};
// here chart is your nvd3 model
addZoom({
xAxis : chart.xAxis,
yAxis : chart.yAxis,
yDomain: chart.yDomain,
xDomain: chart.xDomain,
redraw : function() { chart.update() },
svg : svg
});
Các vấn đề liên quan
- 1. Highcharts donut biểu đồ tùy
- 2. Phóng to trong trình duyệt có giống như phóng to trên thiết bị di động không?
- 3. dòng + biểu đồ phân tán trong nvd3
- 4. Biểu đồ lô trong Highcharts
- 5. Biểu đồ phóng to ở D3
- 6. Thư viện Javascript để vẽ Đồ thị trên Dòng thời gian (có thể phóng to và có thể chọn)
- 7. Highcharts - Biểu đồ Dyanmic không có dữ liệu ban đầu
- 8. Phóng to biểu đồ dạng thanh với d3.js
- 9. Liên kết nhiều điều khiển biểu đồ trong HighCharts
- 10. Có thể phóng to và thu nhỏ không?
- 11. Thanh có thể nhấp trong js Highcharts?
- 12. Biểu đồ Javafx 2 và tự do phóng to
- 13. MapKit Polyline tùy chỉnh phóng to?
- 14. Một giải pháp thay thế cho NVD3.js (thư viện biểu đồ có thể tái sử dụng)?
- 15. JavaFX 2.0 có thể phục vụ như một gói biểu đồ khoa học không?
- 16. Có thể định vị dữ liệu Highcharts dataLabels tùy thuộc vào giá trị không?
- 17. Chọn một biểu đồ có chu kỳ
- 18. Bản đồ thế giới chính trị có thể thu phóng
- 19. Chúng tôi có thể phóng to/thu nhỏ tệp Xib Xem trong XCode 4.0 không?
- 20. Lập trình thay đổi tiêu đề biểu đồ trong highcharts
- 21. Làm thế nào để có được hình mờ trong biểu đồ HighCharts?
- 22. Cách phóng to UIScrollView bên trong UICollectionViewCell?
- 23. biểu đồ không có đường thẳng đứng trong Mathematica
- 24. Đồng bộ hóa nhiều biểu đồ bằng nvd3
- 25. Biểu đồ đường thời gian thực với nvd3.js
- 26. Biểu đồ phụ thuộc có thể có vòng lặp không?
- 27. chú giải công cụ tùy chỉnh trên cumulativeLineChart trong nvd3
- 28. D3.js Thu phóng và di chuyển biểu đồ cây có thể thu gọn
- 29. Highcharts - làm cách nào để có biểu đồ có chiều cao động?
- 30. API biểu đồ Google - Tùy chọn Stroke biểu đồ tròn không ảnh hưởng đến
Liên kết của bạn bị hỏng – Ofiris
Xin cảm ơn, đã khắc phục sự cố. –
Chúng tôi có tính năng này cho biểu đồ phân tán không? Nếu không, làm thế nào chúng ta có thể thêm nó? – Dinesh