优化视觉效果

This commit is contained in:
Wenjie Zhang 2025-03-05 16:31:27 +08:00
parent f52d342afb
commit c52c0407e1

View File

@ -136,12 +136,31 @@ const loadGraphInfo = () => {
}
const getGraphData = () => {
//
const nodeDegrees = {};
// 0
graphData.nodes.forEach(node => {
nodeDegrees[node.id] = 0;
});
//
graphData.edges.forEach(edge => {
nodeDegrees[edge.source_id] = (nodeDegrees[edge.source_id] || 0) + 1;
nodeDegrees[edge.target_id] = (nodeDegrees[edge.target_id] || 0) + 1;
});
return {
nodes: graphData.nodes.map(node => {
// 1551550
const degree = nodeDegrees[node.id] || 0;
const nodeSize = Math.min(15 + degree * 5, 50);
return {
id: node.id,
data: {
label: node.name
label: node.name,
degree: degree, //
},
}
}),
@ -277,16 +296,21 @@ const initGraph = () => {
layout: {
type: 'd3-force',
preventOverlap: true,
kr: 20,
collide: {
strength: 1.0,
radius: 40,
strength: 0.5, //
},
},
node: {
type: 'circle',
style: {
labelText: (d) => d.data.label,
size: 70,
// 使
size: (d) => {
const degree = d.data.degree || 0;
// 1551550
return Math.min(15 + degree * 5, 50);
},
},
palette: {
field: 'label',