我是第一次使用D3与React。我的react应用程序是由创建-反应-应用程序创建的。在react组件中,我使用d3导入import * as d3 from 'd3'
我的代码如下:
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。
有人有想法吗?有什么问题?
发布于 2017-12-27 14:59:03
你在用D3 v4。下面的链接是您将旧版本转换为您现在使用的版本的解决方案,应该是直接的。
发布于 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();
发布于 2019-12-22 19:31:13
从第4版开始,您必须使用d3.__scaleTime()
https://stackoverflow.com/questions/46377438
复制相似问题