我有一个简单的图表,显示下面带有成交量柱的烛台:http://jsfiddle.net/T83Xy/ http://jsfiddle.net/T83Xy/
基本上,我想对柱子使用黑色和红色,具体取决于收盘价是否高于开盘价。我通过推送 Y: data, color: '#000000' 作为参数看到了一些示例。问题是我正在推送日期和卷号。我尝试推送 X: 日期、Y: 数据、颜色: '#000000' 但它抛出错误并且没有给我预期的结果。
首先,你需要设置系列.turboThreshold https://api.highcharts.com/highcharts/plotOptions.series.turboThreshold如果您有大量积分,则为 0。这将禁用输入数据格式检查。
然后,要根据蜡烛应用列颜色,我建议您使用这段代码:
Highcharts.seriesTypes.column.prototype.pointAttribs = (function(func) {
return function(point, state) {
var attribs = func.apply(this, arguments);
var candleSeries = this.chart.series[0]; // Probably you'll need to change the index
var candlePoint = candleSeries.points.filter(function(p) { return p.index == point.index; })[0];
var color = (candlePoint.open < candlePoint.close) ? '#FF0000' : '#000000'; // Replace with your colors
attribs.fill = state == 'hover' ? Highcharts.Color(color).brighten(0.3).get() : color;
return attribs;
};
}(Highcharts.seriesTypes.column.prototype.pointAttribs));
请小心,因为此代码将影响当前页面上的所有图表。但您可以轻松添加一些条件以仅在特定图表上运行此操作。Here https://jsfiddle.net/1Lxc4h3f/是带有上面代码的默认 Highstock 演示。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)