cuốn sách gpt4 ai đã làm

vấn đề chia tỷ lệ d3 hexbin - vấn đề chia tỷ lệ d3 hexbin

In lại Tác giả: Walker 123 Thời gian cập nhật: 28-11-2023 00:37:02 hai mươi bốn 4
mua khóa gpt4 Nike

Tôi đang cố gắng tìm hiểu cách sử dụng plugin hexbin d3.js.

Tôi sẽ bắt đầu với ví dụ này:http://bl.ocks.org/mbostock/4248145 , Tôi đang điều chỉnh nó.

Tôi có tập dữ liệu các điểm trong khoảng từ [0,0] đến [600.600]. Tôi muốn xuất chúng thành biểu đồ 300.300.

Biểu đồ của tôi có vẻ không ổn. Dữ liệu dường như không được chia tỷ lệ chính xác và biểu đồ chỉ hiển thị 1/4 dữ liệu. Có ai có thể cho tôi biết có chuyện gì không? Tôi đã đọc một cuốn sách về cách sử dụng d3 nhưng tôi không có nhiều kinh nghiệm sử dụng nó.

Jsfiddle của hexbin của tôi

var graph_width = 300;
var graph_height = 300;

var data_width = 600;
var data_height = 600;

var RandomX = d3.random.normal(data_width / 2, 80),
ngẫu nhiênY = d3.random.normal(data_height / 2, 80),
điểm = d3.range(2000).map(function() { return [randomX(), RandomY()]; });

var color = d3.scale.Tuyến tính()
.domain([0, 20])
.range(["white", "steelblue"])
.interpolate(d3.interpolateLab);

var hexbin = d3.hexbin()
.size([graph_width, graph_height])
.radius(20);

var x = d3.scale.Tuyến tính()
.domain([0, data_width])
.range([0, graph_width]);

var y = d3.scale.Tuyến tính()
.domain([0, data_height])
.range([0, graph_height]);

var svg = d3.select("body").append("svg")
.attr("width", graph_width)
.attr("chiều cao", graph_height)
.append("g");

svg.append("clipPath")
.attr("id", "clip")
.append("trực tràng")
.attr("lớp", "lưới")
.attr("width", graph_width)
.attr("chiều cao", graph_height);

svg.append("g")
.attr("clip-path", "url(#clip)")
.selectAll(".hexagon")
.data(hexbin(điểm))
.enter().append("đường dẫn")
.attr("lớp", "hình lục giác")
.attr("d", hexbin.hexagon())
.attr("transform", function(d) { return "translate(" + dx + "," + dy + ")"; })
.style("fill", function(d) { return color(d.length); });

câu trả lời hay nhất

Tôi nghĩ tôi hiểu. Giá trị dữ liệu của bạn nằm trong phạm vi từ 0 đến 600, nhưng bạn muốn các giá trị được ánh xạ tới các vị trí x/y trong phạm vi từ 0 đến 300.

Nếu vậy thì hãy chia tỷ lệ điểm:

var x = d3.scale.Tuyến tính()
.domain([0, data_width])
.range([0, graph_width]);

var y = d3.scale.Tuyến tính()
.domain([0, data_height])
.range([0, graph_height]);

var RandomX = d3.random.normal(data_width / 2, 80),
ngẫu nhiênY = d3.random.normal(data_height / 2, 80),
điểm = d3.range(2000).map(function() { return [x(randomX()), y(randomY())]; });

đã cập nhậtvĩ cầm .

Về vấn đề mở rộng quy mô hexbin javascript - d3, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/28385858/

hai mươi bốn 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress