我想从具有两个不同轴的CSV数据中显示图表。
我成功了,但有一些限制。
以下是我的CSV文件示例,但列数可能会有所不同,而且列标签也是如此:
"date","Tch","HyR","CO2"
2012/12/23-10:41,22.2,43,2379.52
2012/12/23-10:42,22.2,44,2319.36
2012/12/23-10:43,22.2,44,2319.36
我可以使用以下代码显示它:
<div id="div_g" style="width:900px; height:400px; border: 1px solid black"></div>
<script type="text/javascript" src="http://www.dygraphs.com/dygraph-combined.js"></script>
<script>
var g = new Dygraph(
document.getElementById("div_g"),
"enregistrement-subset0.csv",
{
labels:["date","Tch","HyR","CO2"], //the line I'd like to remove
colors:["red", "blue", "green"],
"CO2": { axis: {
yAxisLabelFormatter: function (v) { return v.toPrecision(2); },
yValueFormatter: function (v) { return v.toPrecision(2); }
}},
axes: {
y: {
valueFormatter: function(y) {
return y.toPrecision(3);
},
axisLabelFormatter: function(y) {
return y;
}
}
},
});
</script>
我试图删除“labels:”行,但是这样做,第二个轴就消失了。
jsFiddle for this http://jsfiddle.net/lauhub/jY2m6/
此外,保持此行会在显示图表时生成警告。
我还想动态加载CSV文件中的标签,因为列数和名称可能会有所不同。
是否可以使用dygraphs以编程方式执行此操作?怎么样?
由于
答案 0 :(得分:1)
以下是Konigsberg从Dygraphs google小组发布的答案: 简单的答案是,您的CSV不认为第0列标记为[日期],它认为它标记为[“日期”](带引号。)
删除CSV周围的引号,你会没事的:
date,Tch,HyR,CO2
2012/12/23-10:41,22.2,43,2379.52
请参阅http://jsfiddle.net/KUdsY/2了解此问题。
此外,我建议使用新方法使用http://blog.dygraphs.com/2012/12/the-new-and-better-way-to-specify.html中指定的步骤指定轴和系列,这使您的解决方案看起来像http://jsfiddle.net/KUdsY/4/。
我发布下面的代码(从上一个链接复制):
var csv = 'date,Tch,HyR,CO2\n' +
'2012/12/23-10:41,22.2,43,2379.52\n' +
'2012/12/23-10:42,22.2,44,2319.36\n' +
'2012/12/23-10:43,22.2,44,2319.36\n';
var g = new Dygraph(
document.getElementById("graph"),
csv, {
// labels: ["date", "Tch", "HyR", "CO2"], //the line I'd like to remove
colors: ["red", "blue", "green"],
series : {
"CO2": {
axis : 'y2'
}
},
axes: {
y: {
valueFormatter: function (y) {
return y.toPrecision(3);
},
axisLabelFormatter: function (y) {
return y;
}
},
y2: {
yAxisLabelFormatter: function (v) {
return v.toPrecision(2);
},
yValueFormatter: function (v) {
return v.toPrecision(2);
}
}
}
});