如何在Vega-Lite中设置货币格式?格式化字符串报错如何解决?
问题原因及解决方案
- 核心报错原因是JSON语法不规范:你当前配置里
format: '$.2f'使用了单引号包裹字符串,JSON标准要求所有字符串必须使用双引号,单引号会直接触发解析器的「value expected」报错。 - 存在的潜在兼容问题:数据源中
ReferenceRateUSD字段的值是字符串类型(外层包裹了双引号),而Y轴声明为定量(quantitative)类型,虽然Vega-Lite会自动尝试类型转换,建议直接把字段值改为数字类型,或者在data配置中增加parse规则显式转换,避免后续类型匹配报错。 - 格式优化建议:如果要实现标准的货币格式,格式化字符串建议写为
"$,.2f",增加千位分隔符的支持,显示效果更符合货币使用习惯。
修改后的Y轴配置示例:
"y": { "axis": { "labelOffset": 2, "domainColor": "white", "labelColor": "#AEAEAE", "ticks": false, "labelPadding": 10, "format": "$,.2f" }, "field": "ReferenceRateUSD", "type": "quantitative", "title": "", "scale": { "zero": false } }
修改后的数据源示例(去掉数值的字符串引号):
"data": { "values": [ { "asset": "eth", "time": "2021-06-15T00:00:00Z", "ReferenceRateUSD": 2577.04473863238 }, { "asset": "eth", "time": "2021-06-16T00:00:00Z", "ReferenceRateUSD": 2552.74103641146 }, { "asset": "eth", "time": "2021-06-17T00:00:00Z", "ReferenceRateUSD": 2360.99938690824 } ] }
内容的提问来源于stack exchange,提问作者lookashinyone
相关产品推荐
相关产品推荐

