首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让webglcandlestick系列尊重带宽功能?

如何让webglcandlestick系列尊重带宽功能?
EN

Stack Overflow用户
提问于 2020-04-29 09:59:56
回答 1查看 81关注 0票数 0

我遵循了d3fc github存储库中的这个示例:https://github.com/d3fc/d3fc/blob/master/examples/series-webgl-candlestick/index.js

我的理解是默认带宽是5px,上面的例子没有覆盖这个设置。

如果我将上述代码的相关部分更改为:

代码语言:javascript
复制
const series = fc
    .seriesWebglCandlestick()
    .bandwidth(100)
    .xScale(xScale)
    .yScale(yScale)
    .defined(() => true)
    .equals(d => d.length)
    ;

这应该会使每根蜡烛的间距达到100px。相反,我的显示屏显示的是下面的图像:

这看起来不像是正确的间隔。

编辑:

根据下面的建议,我尝试修改这个提供的Codepen (https://codepen.io/colineberhardt-the-bashful/pen/VwvzYmP?editors=1111)以使用100px的candles,但在我的屏幕上它仍然显示不正确:

EN

回答 1

Stack Overflow用户

发布于 2020-04-29 15:37:55

我知道‘它对我有效’的答案并不理想,然而,这个简单的例子确实显示了带宽工作的预期……

代码语言:javascript
复制
const data = fc.randomFinancial()(50);

const container = document.querySelector('canvas');
container.width= 300;
container.height= 300;

const xScale = d3
    .scaleTime()
    .range([0, 300])
    .domain(fc.extentDate().accessors([d => d.date])(data));

const yScale = d3
    .scaleLinear()
    .range([300, 0])
    .domain(fc.extentLinear().accessors([d => d.high])(data));

const series = fc
    .seriesWebglCandlestick()
    // .bandwidth(100)
    .xScale(xScale)
    .yScale(yScale)
    .context(container.getContext('webgl'));

series(data);

请参阅以下代码:https://codepen.io/colineberhardt-the-bashful/pen/VwvzYmP?editors=1111

删除将带宽设置为100的注释将导致每个烛台的宽度为100px。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61492977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档