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