Đây là số demo của tôi (liên kết cố định; có thể mất một giây để tải).Cách tạo biểu đồ bằng cách sử dụng d3.js và dữ liệu crossfilter?
Tôi đang gặp một vài vấn đề với nó:
trọng điểm crossfilter không phản ánh ranh giới trên. Do đó, trục x thiếu một bước.
Tôi cố gắng sửa chữa nó bằng cách nhận một kích thước nhóm bước (
group.all()[1] - group.all()[0]
) và sau đó thêm nó vàod3.extent(group.all())[1]
. Bởi vì nó là một sửa chữa bẩn, tôi đã không bao gồm điều này để demo (có thể bởi một khoảng cách dữ liệu). Một cách ít bẩn để có được kích thước nhóm bước/sửa chữa trục x là gì?Có khoảng cách không đồng đều giữa các thanh. Tôi không thể tìm ra cách khắc phục sự không thống nhất x.scale với các tập dữ liệu khác nhau.
Tôi muốn thanh-chiều rộng để thích ứng tự động để chiều rộng đồ thị có sẵn. Vì vậy, tôi tính toán độ rộng thanh tối ưu và sau đó (nếu cần) thay đổi kích thước đồ thị chính nó:
bar_width = math.round(graph_width/data_length); graph_width = bar_width*data_length;
Trong điều kiện này, không có cách nào
x.scale
có thể trả lại dữ liệu không đồng đều đối với bất kỳ giá trị quan trọng, tuy nhiên nó. Không có phép thuật; Tôi đơn giản nhìn cái gì đó. Nhưng nó là gì?Khi
x.scale
là sai lầm sau đó trừ đibar_width
từgraph_width
trước khi thiết lập phạm vix.scale
sửa chữa vấn đề. Mặc dù, tôi không thể tìm ra điều kiện để phát hiện khi x.scale không hoạt động như mong đợi.
Điều này thật tuyệt! Có anyway để có tất cả được đánh dấu theo mặc định? – by0
Chưa chạm vào điều này trong thời gian dài. Nếu bạn gửi yêu cầu về vấn đề/tính năng trên GitHub, tôi sẽ xem xét nó. – Gajus