Files

39 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 124 ChartAxis 坐标轴
## 用途
提供数值、时间、类别和对数刻度,以及值和像素之间的映射。
## 最小示例
```go
view := func(c *ui.Context) {
core.Use(c, core.Settings{})
axis := chart.ChartAxis(c, chart.ChartAxisOptions{Side: chart.SideLeft, Kind: chart.AxisLog, Min: 1, Max: 1000})
ui.Box(c).Fill().Draw(func(p *ui.Painter, r ui.Rect) {
axis.Draw(p, ui.Rect{X: r.X + 60, Y: r.Y + 20, W: r.W - 80, H: r.H - 60})
})
}
ui.Render(view, 400, 300, 1)
```
## 参数
`Kind` 默认 `AxisLinear`;`Side` 默认 `SideBottom`。数值与对数轴需要有限 `Min < Max`,对数轴 `Min > 0`。时间轴需要 `From < To`。类别轴需要非空 `Categories`。`Ticks` 为递增且位于范围内的指定刻度,nil 自动生成。`Format func(float64) string` 自定义标签。
## 状态
展示部件,继承当前主题、文本缩放和字体。
## 事件
`Map`、`Invert`、`Ticks`、`Label` 返回映射与标签;组件自身没有业务事件。
## 键盘操作
所属 Chart 负责聚焦、方向键和读数。坐标轴作为绘图部件随图表展示。
## 限制
为标签预留边距。时间值采用 Unix 秒,默认格式使用 UTC;需要本地时区时通过 Format 格式化。数据和刻度切片在使用期间保持稳定。