Javascript d3选择csv文件的特定行

Javascript d3选择csv文件的特定行,javascript,csv,d3.js,Javascript,Csv,D3.js,我正在尝试使用d3库根据日期从csv文件渲染图形 我可以很容易地显示整个csv文件的图形,但我希望(使用下面的示例)仅显示从6月份开始的数据 csv文件如下所示: date, close 15/06/15,200 15/06/15,250 10/06/15,300 05/06/15,500 25/05/15,200 20/05/15,100 好的,解析日期是有效的,我现在用匹配的格式比较日期。尽管如此,有些事情还是没有道理 d3.csv("txt.csv", function(error, d

我正在尝试使用d3库根据日期从csv文件渲染图形

我可以很容易地显示整个csv文件的图形,但我希望(使用下面的示例)仅显示从6月份开始的数据

csv文件如下所示:

date, close
15/06/15,200
15/06/15,250
10/06/15,300
05/06/15,500
25/05/15,200
20/05/15,100
好的,解析日期是有效的,我现在用匹配的格式比较日期。尽管如此,有些事情还是没有道理

d3.csv("txt.csv", function(error, data) {
data2 = data.filter(function(d) { return d.date <= timeFormat(parseDate("10/06/15")) });

data2.forEach(function(d) {
            d.date = timeFormat(parseDate(d.date));
            d.close = +d.close;
            });

var     timeFormat = d3.time.format("%d/%m/%y");
var     parseDate = d3.time.format("%d/%m/%Y").parse;
d3.csv(“txt.csv”),函数(错误,数据){

data2=data.filter(函数(d){return d.date在使用d3.time.format()时有一个警告。在javascript中,当创建一个新日期(yyyy,mm,dd)时,月数可以从0到11。它们是零基的。在d3.time.format()中,月份不是零基的(从1到12)

将2015年6月15日解释为2015-06-14T23:00:00.000Z

这有点奇怪。当我执行以下操作时,d3格式(就像您定义的那样)会在2015年7月15日返回给我:

var someDate = new Date(2015,06,15);
var var timeFormat = d3.time.format("%d/%m/%y");
console.log(timeFormat(someDate));
所以我实际上得到了我期望得到的。它不是打印2015-06-15T00:00:00或类似的东西


还有一件事是关于javascript中的日期。你可以阅读更多关于它的内容。但是,它有点过时,它没有解释为什么d3.time.format会解释完全不同的内容。你可以发布整个代码吗?你在哪里注意到错误?或者你是如何注意到的?

d3 scales用于转换域i的输入到范围输出中。因此不要使用这些:-)。相反,如果您只需要部分数据,则需要过滤数据。过滤数据,但是我可能会保留加载的数据,并通过过滤操作创建新数组,例如trimmedData=data.filter(…)这将允许您以后更轻松地更改正在查看的数据或创建数据的多个视图这正是我想做的Tom P,非常感谢。最终我想将上个月和本月的数据叠加在同一个图表上,所以我认为我现在非常接近了。