如何在 eCharts 图表中获取红色/绿色实心烛台

问题描述 投票:0回答:1

我正在尝试从 eCharts 网站上的示例开始,在 eCharts 图表中获取红色/绿色烛台。

起始示例称为“大型烛台”,它从名为

generateOHLC
的自定义函数生成随机数据。

原始示例链接

在另一个示例中,有一个链接可以从 JSON 文件获取数据,也可以从 eCharts 站点获取数据,您可以在此链接中看到:https://echarts.apache.org/...

每个数组(大数组中)的值分别是

[date ,open, close, low, high, volume]

现在,我已经获取了其中的一些值,并对其进行了调整,以使用这个简单的小JavaScript代码在内部数组中获取其他值:

data.forEach(function (point, point_index){
  point.push (   getSign(data, point_index, point[1], point[2], 2)   )
  //console.log(point)
})

使用与上一个示例相同的函数

getSign

因此添加的最后一个值(作为

1
-1
推入数组)应该使蜡烛变成红色或绿色。

您可以在此处查看改编示例的结果:

改编的 ECHART 示例

那么,为什么蜡烛总是红色,而第一个例子中的蜡烛是红色和绿色?

我的错误在哪里以及我做错了什么?

javascript graph echarts
1个回答
0
投票

您的错误在于假设数据数组中的符号值负责着色。事实并非如此。事实上,您链接的此示例中甚至没有使用符号值。如果您从数据中完全删除该符号,图表不会改变,请参阅此处

查看烛台数据属性。红色/绿色取决于

open
是否小于或大于
close
。作为第一步,从这个官方示例开始应该更容易,因为它的复杂性较低。从那里,您可以将数据传输到 dataset 并使用
encode
以与烛台数据属性期望的方式相同的方式指定维度。

总结一下:您的蜡烛始终是红色的,因为为蜡烛主体的

open
部分编码的数据集维度始终小于为蜡烛主体的
close
部分编码的维度。

© www.soinside.com 2019 - 2024. All rights reserved.