pie
饼图:各部分占总数的比例,默认环形,中心显示合计。
示例
显示各持仓占用保证金的比例。
javascript
function main() {
while (!exchange.IO("status")) Sleep(1000)
exchange.SetContractType("rb888")
var positions = exchange.GetPositions()
if (!positions) return
var items = positions.map(function (p) { return {name: p.Symbol, value: p.Margin} })
LogStatus({type: "pie", title: "保证金占用", legend: true, items: items,
format: {precision: 2}})
}
python
def main():
while not exchange.IO("status"):
Sleep(1000)
exchange.SetContractType("rb888")
positions = exchange.GetPositions()
if positions is None:
return
items = [{"name": p["Symbol"], "value": p["Margin"]} for p in positions]
LogStatus({"type": "pie", "title": "保证金占用", "legend": True, "items": items,
"format": {"precision": 2}})
rust
fn main() {
while !exchange.IO("status").is_ok_and(|v| v.as_i64() == Some(1)) {
Sleep(1000);
}
if exchange.SetContractType("rb888").is_err() { return; }
let Ok(positions) = exchange.GetPositions(None) else { return };
let items: Vec<String> = positions.iter()
.map(|p| format!(r#"{{"name": "{}", "value": {}}}"#, p.Symbol, p.Margin))
.collect();
LogStatus!(format!(
r#"{{"type": "pie", "title": "保证金占用", "legend": true, "items": [{}],
"format": {{"precision": 2}}}}"#,
items.join(",")
));
}属性
| 名称 | 类型 | 描述 |
type | string | 必填,固定为 |
items | object数组 | 必填。各部分;缺少 |
items[].name | string | 必填。名称。 |
items[].value | number | 必填。数值,不小于 |
items[].color | string | 颜色,默认按顺序分配。取值见 |
donut | bool | 环形图; |
legend | bool | 在图旁列出各项。默认 |
format | object | 数值格式 |
title | string | 标题,显示在组件左上角。 |
id | string | 稳定标识。组件的个数或顺序会变化时设置,状态栏刷新时组件不重建。 |
span | number | 在所在 |
参考