首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >d3fc画布-旋转d3元件

d3fc画布-旋转d3元件
EN

Stack Overflow用户
提问于 2020-01-21 07:07:44
回答 1查看 107关注 0票数 1

我正在使用d3fc和画布渲染,我可以成功地渲染三角形,如下所示:

代码语言:javascript
复制
import { symbolTriangle } from 'd3-shape';
import { seriesCanvasPoint } from '@d3fc/d3fc-series'; 

seriesCanvasPoint()
    .crossValue(d => d.date)
    .mainValue(d => d.extremePrice)
    .type(symbolTriangle)
    .decorate((context, datum, index) => {
        const symbolColor = datum.peak ? 'red' :
                            datum.trough ? 'blue' : 'white';

        context.fillStyle = symbolColor;

    });

然而,我想将一些三角形旋转成上下颠倒的(在装饰函数中):

代码语言:javascript
复制
        if (datum.peak) {
            context.rotate(Math.PI); //Pi radians = 180 deg
        }

但这没有任何作用。为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-21 14:27:01

这看起来非常像是canvas point系列实现中的一个bug。如果您查看源代码,就会执行路径指令:

https://github.com/d3fc/d3fc/blob/master/packages/d3fc-series/src/canvas/point.js#L23

然后,调用decorate:

https://github.com/d3fc/d3fc/blob/master/packages/d3fc-series/src/canvas/point.js#L28

因此,decorate可以修改填充和笔触,但不能以任何方式修改绘图函数。这应该是一个简单的修复方法。

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

https://stackoverflow.com/questions/59832064

复制
相关文章

相似问题

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