python获取坐标颜色,python – 根据一组坐标的数据着色地图
您的第一種方法稱為Voronoi diagramm
對于使用D3庫的javascipt,這種圖表有一個解決方案
為了使這個解決方案完整,我在這里粘貼M.Bostock示例中的代碼
var w = 1280,
h = 800;
var projection = d3.geo.azimuthal()
.mode("equidistant")
.origin([-98, 38])
.scale(1400)
.translate([640, 360]);
var path = d3.geo.path()
.projection(projection);
var svg = d3.select("body").insert("svg:svg", "h2")
.attr("width", w)
.attr("height", h);
var states = svg.append("svg:g")
.attr("id", "states");
var cells = svg.append("svg:g")
.attr("id", "cells");
d3.json("us-states.json", function(collection) {
states.selectAll("path")
.data(collection.features)
.enter().append("svg:path")
.attr("d", path);
});
d3.csv("airports.csv", function(airports) {
var positions = [];
airports.forEach(function(airport) {
positions.push(projection([+airport.longitude, +airport.latitude]));
});
// Compute the Voronoi diagram of airports' projected positions.
var polygons = d3.geom.voronoi(positions);
var g = cells.selectAll("g")
.data(airports)
.enter().append("svg:g");
g.append("svg:path")
.attr("class", "cell")
.attr("d", function(d, i) { return "M" + polygons[i].join("L") + "Z"; })
.on("mouseover", function(d, i) {
d3.select("#footer span").text(d.name);
d3.select("#footer .hint").text(d.city + ", " + d.state);
});
g.append("svg:circle")
.attr("cx", function(d, i) { return positions[i][0]; })
.attr("cy", function(d, i) { return positions[i][1]; })
.attr("r", 1.5);
});
使用OpenGL和Gouraud著色可以輕松實現第二個解決方案,但是將它導出到SVG(或者除了位圖之外的其他任何東西)并不容易.我會考慮任何替代方案.
總結
以上是生活随笔為你收集整理的python获取坐标颜色,python – 根据一组坐标的数据着色地图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: snmp 获得硬件信息_信息系统项目管理
- 下一篇: python创建虚拟环境venv_Pyt