我想使用dc.js条形图从我的csv文件中绘制histbody温度数据的分布(文本格式的浮点数,如“35.3”,以摄氏度为单位)。我将xUnits设置为精度0.1,但是当我绘制条形图时,似乎所有输入数据都被视为整数而不是浮点数。 关于这里出了什么问题,完全没有想法。我也试过了parseFloat函数,但它仍然是一样的。
我是d3,js和dc.js的新手。任何建议或意见都会非常感激。
谢谢!
这是我的代码的一部分...
var groupname = "marker-select";
var btpchart = dc.barChart("#btp",groupname);
d3.csv("../static/data/all_body_temperature.csv", function(error, flights) {
var formatNumber = d3.format(".3g");
d.measure_time = parseDate(d.measure_time);
flights.forEach(function(d, i) {
d.measure_time = parseDate(d.measure_time);
d.body_temperature = formatNumber(d.body_temperature);
});
var flight = crossfilter(flights),
all = flight.groupAll(),
body_temperature = flight.dimension(function(d) { return d.body_temperature; }),
body_temperatures = body_temperature.group(Math.floor),
date = flight.dimension(function(d) { return d.measure_time; }),
dates = date.group(d3.time.day),
hour = flight.dimension(function(d) { return d.measure_time.getHours() + d.measure_time.getMinutes() / 60; }),
hours = hour.group(Math.floor),
btpchart
.width(newWidth)
.height(500)
.margins({top: 30, right: 50, bottom: 30, left: 40})
.dimension(body_temperature)
.group(body_temperatures)
.x(d3.scale.linear().domain([32.0, 40.0]))
.xUnits(dc.units.fp.precision(0.1))
.elasticY(true);
hourchart
.width(newWidth)
.height(500)
.margins({top: 30, right: 50, bottom: 30, left: 40})
.dimension(hour)
.group(hours)
.x(d3.scale.linear().domain([0, 24]))
.elasticY(true);
dc.renderAll(groupname);
function parseDate(d) {
return new Date(d);
}
});