43 lines
1.3 KiB
Markdown
43 lines
1.3 KiB
Markdown
# 187 MarketHeatmap
|
|
|
|
## 用途
|
|
|
|
市场热力图。
|
|
|
|
## 最小示例
|
|
|
|
```go
|
|
var path []string
|
|
root := mujica.HeatNode{Name: "Market", Children: []mujica.HeatNode{{Name: "Technology", Children: []mujica.HeatNode{{Name: "AAPL", Cap: 3000, Change: 1.2}, {Name: "MSFT", Cap: 2800, Change: -0.6}}}, {Name: "Energy", Cap: 450, Change: -2.1}}}
|
|
view := func(c *ui.Context) {
|
|
mujica.Use(c, mujica.Settings{})
|
|
r := mujica.MarketHeatmap(c, &path, root, mujica.MarketHeatmapOptions{Frame: mujica.ChartFrame{Label: "Market"}})
|
|
if r.Changed() || r.ValueChanged() || r.Retried() {
|
|
fmt.Println(path, r.Point)
|
|
}
|
|
}
|
|
ui.Render(view, 960, 440, 1)
|
|
```
|
|
|
|
## 参数
|
|
|
|
`Version` 在原地修改数据时递增。小于 4 DIP 的瓦片按屏幕网格汇总绘制,键盘仍逐项读取原始数据。
|
|
|
|
`path` 保存下钻路径;`root` 名称必填,子项名称唯一;`Cap` 为面积,`Change` 为百分比。`Frame.Label` 必填;`Scale` 默认 3。
|
|
|
|
## 状态
|
|
|
|
默认与数据边界;图表的 Frame 支持加载、空、失败占位。
|
|
|
|
## 事件
|
|
|
|
if r.Changed() || r.ValueChanged() || r.Retried() { 调用方回调(path, r.Point) }
|
|
|
|
## 键盘操作
|
|
|
|
Tab 聚焦图;方向键逐块读数;Enter 下钻;Backspace 返回;路径按钮可用 Tab。
|
|
|
|
## 限制
|
|
|
|
市场数据由调用方提供;原地修改数据后更换 Children 切片或递增 Version。
|