Javascript 为什么highchart不识别我的日期?

Javascript 为什么highchart不识别我的日期?,javascript,arrays,json,highcharts,Javascript,Arrays,Json,Highcharts,我正在尝试在运行ASP.NETMVC的网站上实现HIghcharts 我有一个返回对象数组的控制器。我解析这些对象并创建新的对象,这些对象具有javascript日期和total sales属性 当我试图跟随这把小提琴去创造一个类似的高图表时,我并没有成功。Highcharts似乎不认识我的约会时间。你知道我做错了什么吗?这就是我得到的: 我想得到这样的东西: 来自API的数据: [ { "Date": "2017-04-01T00:00:00", "TotalSales

我正在尝试在运行ASP.NETMVC的网站上实现HIghcharts

我有一个返回对象数组的控制器。我解析这些对象并创建新的对象,这些对象具有javascript日期和total sales属性

当我试图跟随这把小提琴去创造一个类似的高图表时,我并没有成功。Highcharts似乎不认识我的约会时间。你知道我做错了什么吗?这就是我得到的:

我想得到这样的东西:

来自API的数据:

[
  {
    "Date": "2017-04-01T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-02T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-03T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-04T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-05T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-06T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-07T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-08T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-09T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-10T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-11T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-12T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-13T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-14T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-15T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-16T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-17T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-18T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-19T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-20T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-21T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-22T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-23T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-24T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-25T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-26T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-27T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-28T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-29T00:00:00",
    "TotalSales": 0
  },
  {
    "Date": "2017-04-30T00:00:00",
    "TotalSales": 0
  }
]
按钮操作:

// The button action
    $('#btnGenerate').click(function() {
        var uri2 = '/api/SalesPerDay/?startDate=2017-01-01&endDate=2017-12-31';
        $.getJSON(uri2,
            {
                startDate: $("#from").val(),
                endDate: $("#to").val()
            },

            function (data1) {
                var values = [];
                for (var i = 0; i < data1.length; i++) {
                    var item = {};
                    item.y = data1[i].TotalSales;
                    item.x = new Date(data1[i].Date);
                    values.unshift(item);
                }
                values.sort(function(a, b) {
                    return a.x - b.x;
                });
                chart.series[0].setData(values);
                chart.xAxis[0].setCategories(values);
            });
    });
问题在于:

chart.xAxis[0].setCategories(values);
移除它

因为每个数据点都有X值集,所以不需要类别。仅当您有一些x和y值分开的数据时才需要它。(例如多系列y值数据和所有y值的一组类别)

问题在于:

chart.xAxis[0].setCategories(values);
移除它


因为每个数据点都有X值集,所以不需要类别。仅当您有一些x和y值分开的数据时才需要它。(例如多系列y值数据和所有y值的一组类别)

创建图表时,您将向图表传递哪些选项?您是否尝试设置
xAxis:{type:'datetime'},
请查看我的编辑您指定了
datetime
轴,但随后调用了
chart.xAxis[0]。setCategories(value)
,它覆盖了该设置。轴可以是分类的,也可以是日期-时间的,但不能两者兼而有之(我现在看到Vladimir已经在下面作为答案发布了!哎呀)在创建图表时,您将向图表传递哪些选项?您是否尝试设置
xAxis:{type:'datetime'},
请查看我的编辑您指定了
datetime
轴,但随后调用了
chart.xAxis[0]。setCategories(value)
,它覆盖了该设置。axis可以是分类的,也可以是日期-时间的,但不能两者都是(我现在看到Vladimir已经在下面作为答案发布了!哎呀)非常感谢,修复了它!非常感谢,这就解决了它!