炫酷的数据可视化大屏
数据可视化是一种通过图表、图形和动画等形式将数据转化为可视化元素的技术。它能够帮助我们更直观地理解和分析数据,从而发现隐藏在数据背后的规律和趋势。在这篇文章中,我们将介绍30个炫酷的数据可视化大屏,每个大屏都有相应的源码,想要使用的话只需要拿走就可以了!
1. 力导向图
力导向图是一种常用的图表类型,它能够展示节点之间的连接关系。它可以用于展示社交网络、知识图谱等数据。下面是一个使用D3.js库绘制的力导向图的示例代码:
// 创建一个svg元素
const svg = d3.select("body")
.append("svg")
.attr("width", 500)
.attr("height", 500);
// 创建一个力导向图的模拟器
const simulation = d3.forceSimulation()
.force("link", d3.forceLink().id(function(d) { return d.id; }))
.force("charge", d3.forceManyBody())
.force("center", d3.forceCenter(250, 250));
// 加载数据
d3.json("data.json").then(function(graph) {
// 创建连线
const link = svg.append("g")
.selectAll("line")
.data(graph.links)
.enter()
.append("line")
.attr("stroke", "#999")
.attr("stroke-opacity", 0.6);
// 创建节点
const node = svg.append("g")
.selectAll("circle")
.data(graph.nodes)
.enter()
.append("circle")
.attr("r", 5)
.attr("fill", "#000");
// 创建节点标签
const label = svg.append("g")
.selectAll("text")
.data(graph.nodes)
.enter()
.append("text")
.text(function(d) { return d.id; })
.attr("font-size", 10)
.attr("dx", 12)
.attr("dy", 4);
// 更新节点和连线的位置
simulation.nodes(graph.nodes)
.on("tick", ticked);
simulation.force("link")
.links(graph.links);
function ticked() {
link.attr("x1", function(d) { return d.source.x; })
.attr("y1", function(d) { return d.source.y; })
.attr("x2", function(d) { return d.target.x; })
.attr("y2", function(d) { return d.target.y; });
node.attr("cx", function(d) { return d.x; })
.attr("cy", function(d) { return d.y; });
label.attr("x", function(d) { return d.x; })
.attr("y", function(d) { return d.y; });
}
});
2. 热力图
热力图可以用于展示空间数据的密度分布。它可以用于展示人流、交通流等数据。下面是一个使用echarts库绘制的热力图的示例代码:
// 创建一个echarts实例
const chart = echarts.init(document.getElementById("heatmap"));
// 配置项
const option = {
visualMap: {
min: 0,
max: 100,
calculable: true,
orient: "vertical",
left: "right",
top: "center"
},
series: [{
type: "heatmap",
data: [
[0, 0, 10],
[0, 1, 20],
[0, 2, 30],
[1, 0, 40],
[1, 1, 50],
[1, 2, 60],
[2, 0, 70],
[2, 1, 80],
[2, 2, 90]
]
}]
};
// 使用配置项显示热力图
chart.setOption(option);
3. 漏斗图
漏斗图可以用于展示数据的阶段性变化。它可以用于展示销售过程、用户转化等数据。下面是一个使用Highcharts库绘制的漏斗图的示例代码:
// 创建一个Highcharts实例
Highcharts.chart("funnel", {
chart: {
type: "funnel"
},