131 ChordDiagram 弦图
用途
以组弧和弦带展示关系矩阵,悬停或键盘读数组时高亮相关连线。
最小示例
names := []string{"Nave", "Choir", "Crypt"}
matrix := [][]float64{{0, 5, 2}, {4, 0, 1}, {1, 2, 0}}
view := func(c *ui.Context) {
core.Use(c, core.Settings{})
chart.ChordDiagram(c, names, matrix, chart.ChordDiagramOptions{Frame: chart.ChartFrame{Label: "Paths"}})
}
ui.Render(view, 400, 300, 1)参数
names []string 为唯一非空组名;matrix [][]float64 为同阶方阵,数值须有限且非负。Frame 控制名称、尺寸和加载状态。Format 自定义关系数值。
状态
默认、组高亮、弦高亮、加载、错误、空矩阵、祖先禁用;对角线值形成自身关系。
事件
Point 先枚举组,再枚举关系;Changed() 表示读数变化;Retried() 表示重试。
键盘操作
Tab 聚焦;方向键依次读取组的流入流出与关系值;Home/End 首尾;Escape 清除。
限制
高密度矩阵按绘图区半径抽样绘制弦带,当前键盘关系保留;布局仅在外层 matrix 切片身份变化时计算。更新数据需替换外层切片。组弧标签在有足够空间时展示,完整名称始终包含在键盘读数中。

