Javascript 从CSV呈现D3数据
这更像是一个代码审查的请求,但我一生都无法将此Javascript 从CSV呈现D3数据,javascript,html,csv,d3.js,Javascript,Html,Csv,D3.js,这更像是一个代码审查的请求,但我一生都无法将此.csv数据正确地呈现为D3中的折线图 下面是我写的代码 到目前为止,我只能渲染y轴和轴标题,但似乎无法渲染数据。也许我做错了什么,但就是看不出来 非常感谢您的帮助和建议 JavaScript文件 HTML文件: 测试:使用D3渲染黑暗数据 测试:渲染黑暗API温度数据w/D3.js 然后是一些示例.csv文件 你需要正确设置你的秤的范围和范围 在这里: 您正在设置一个比例,从minDate到maxDate(域)获取值,并将其映射到minDat
.csv
数据正确地呈现为D3中的折线图
下面是我写的代码
到目前为止,我只能渲染y轴和轴标题,但似乎无法渲染数据。也许我做错了什么,但就是看不出来
非常感谢您的帮助和建议
JavaScript文件
HTML文件:
测试:使用D3渲染黑暗数据
测试:渲染黑暗API温度数据w/D3.js
然后是一些示例.csv
文件
你需要正确设置你的秤的范围和范围 在这里: 您正在设置一个比例,从minDate到maxDate(域)获取值,并将其映射到minDate到maxDate(范围)的值。您需要修改以下内容:
const x = d3.scaleTime()
.rangeRound([0,width]) // values to map to (x coordinate values)
.domain([minDate, maxDate]); // extent of input values/values needing scaling
y轴也一样:
const y = d3.scaleLinear()
.rangeRound([height, 0])
.domain([height, 0])
你需要区分你的范围和领域。上面的刻度只取0到高度之间的值,并返回相同的值
要修复图形,您需要正确设置:
- 数据集中输入值范围内的域(临时值、日期等)
- 输出值的范围,通常是x或y的坐标值(或颜色、半径等)
应用这些变化(我硬编码了一个[40,50]的温度域),如下所示:
使用您的代码和数据,我得到:
您好,您能将其重新编译成一个JSFIDLE.net支持D3的文件吗?我能加载到外部csv文件吗?太好了!谢谢你的提示和建议!我将玩转代码。:)可以我已经更改了代码,并得到了一个静态HTML页面工作,一切看起来都很好?真的!非常感谢!我仔细阅读了您的建议,并引用了M.Bostock的一个示例,并在元素中重写了JS。我现在的问题是,我想通过Flask端点提供这个静态d3.html页面,但不幸的是,当我调用render\u template('d3.html')
时,该图没有呈现出来。下面是指向我的新问题的链接:
const x = d3.scaleTime()
.rangeRound([minDate, maxDate])
.domain([minDate, maxDate]);
const x = d3.scaleTime()
.rangeRound([0,width]) // values to map to (x coordinate values)
.domain([minDate, maxDate]); // extent of input values/values needing scaling
const y = d3.scaleLinear()
.rangeRound([height, 0])
.domain([height, 0])
const x = d3.scaleTime()
.rangeRound([0,width])
.domain([minDate, maxDate]);
const y = d3.scaleLinear()
.domain([40, 50])
.rangeRound([height, 0])