首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >导出'time‘(导入为'd3')在'd3’中找不到

导出'time‘(导入为'd3')在'd3’中找不到
EN

Stack Overflow用户
提问于 2017-09-23 08:04:56
回答 3查看 31.6K关注 0票数 11

我是第一次使用D3与React。我的react应用程序是由创建-反应-应用程序创建的。在react组件中,我使用d3导入import * as d3 from 'd3'

我的代码如下:

代码语言:javascript
运行
复制
    this.xScale = d3.time.scale()
        .domain(d3.extent(this.props.data, function (d) {
            return d[_self.props.xData];
         }))
    .rangeRound([0, this.w]);

    this.yScale = d3.scale.linear()
        .domain([0,d3.max(this.props.data,function(d){
            return d[_self.props.yData]+_self.props.yMaxBuffer;
        })])
        .range([this.h, 0]);

    this.area = d3.svg.area()
        .x(function (d) {
            return this.xScale(d[_self.props.xData]);
        })
        .y0(this.h)
        .y1(function (d) {
            return this.yScale(d[_self.props.yData]);
        }).interpolate(this.props.interpolations);

获得编译错误:

导出'time‘(导入为'd3')在'd3’中找不到

我在我的项目目录下使用d3导入npm install d3 --save

有人有想法吗?有什么问题?

EN

回答 3

Stack Overflow用户

发布于 2017-12-27 14:59:03

你在用D3 v4。下面的链接是您将旧版本转换为您现在使用的版本的解决方案,应该是直接的。

https://github.com/d3/d3/blob/master/CHANGES.md

票数 15
EN

Stack Overflow用户

发布于 2019-10-23 04:25:46

使用d3.timeScale()代替d3.time.scale()

在第4版中,D3.js的语法发生了变化,因此不再使用d3.time。

您要么需要导入d3.js版本3

npm install d3@3

或者更改代码以使用d3.js版本4语法

d3.timeScale();

票数 6
EN

Stack Overflow用户

发布于 2019-12-22 19:31:13

从第4版开始,您必须使用d3.__scaleTime()

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

https://stackoverflow.com/questions/46377438

复制
相关文章

相似问题

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