MujicaUI

Market Charts · #145

VolumeChart 浅色主题渲染快照
浅色 · 渲染快照
VolumeChart 深色主题渲染快照
深色 · 渲染快照

145 VolumeChart

用途

成交量柱;涨跌着色;与主图共享时间轴。

最小示例

	at := time.Date(2026, 10, 5, 9, 0, 0, 0, time.UTC)
	candles := []chart.Candle{
		{Time: at, Open: 100, High: 103, Low: 99, Close: 102, Volume: 1200},
		{Time: at.Add(time.Hour), Open: 102, High: 104, Low: 100, Close: 101, Volume: 1600},
		{Time: at.Add(2 * time.Hour), Open: 101, High: 105, Low: 100, Close: 104, Volume: 900},
	}
	var window chart.MarketView
	view := func(c *ui.Context) {
		core.Use(c, core.Settings{})
		chart.VolumeChart(c, candles, &window, chart.VolumeChartOptions{Frame: chart.ChartFrame{Label: "Volume"}})
	}
	ui.Render(view, 640, 400, 1)

参数

传入与主图相同的 MarketView 共享时间窗口;Frame.Height 默认 120;Sync 与 SyncID 可关联光标。

状态

图表通过 Frame 显示默认、加载、空数据、错误和重试;祖先 Disabled 阻止输入;浅深主题沿用窗口设置。

事件

ChartResult.Point 提供读数索引;Changed 表示读数变化;Retried 表示重试。

键盘操作

Tab 聚焦图表;方向键移动数据读数并朗读;Home/End 到首尾;Escape 清除读数。行情主图通过 +/- 缩放、Shift+左右方向键平移。

限制

数据由调用方提供;更新数据时替换切片,缓存按切片身份失效。行情读取、交易及持久化由调用方负责。