canvasjs,在图表中显示一个值,但在 X 轴中显示另一个值

canvasjs, show one value in chart but another in X axis

我正在使用 CanvasJs 显示一些图表。 当我将鼠标移到该点上时,它显示了错误的日期 图片里我超过12-jun但是它说11-jun..每个点都一样

值“32”可以,日期不行..

但如果我在单独的图表中显示系列,数据就可以了。

脚本:

$.getJSON("dataNro7.php", function (result) {


            var dps1 = [], dps2 = [];
        for(var i = 0; i < result.length; i++) {



            switch(result[i].palabra) {

            case 'pa': dps1.push({ x:  new Date (result[i].label), y: result[i].y });
                break;
            case 'ma': dps2.push({ x:  new Date(result[i].label), y: result[i].y });
                break;
            }
        }


                var revenueBarChart = new CanvasJS.Chart("Historiales2y3", {
                    animationEnabled: false,
                    backgroundColor: "transparent",
                    theme: "theme2",
                    axisX:{
                            interval: 2,
                            valueFormatString: "DD-MMM" ,
                            gridThickness: 0,
                            labelFontSize: 12,
                            labelMaxWidth: 100,
                            labelAngle: 0,
                            culture: "es",
                            labelFontStyle: "normal",
                            labelFontWeight: "normal",
                            labelFontFamily: "Lucida Sans Unicode"

                        },
                    axisY2:{

                            labelFontSize: 12,
                            interlacedColor: "rgba(1,77,101,.05)",
                            gridColor: "rgba(1,77,101,.1)"

                        },


                    data: [   { type: "splineArea",
                                showInLegend: true,
                                name: "PA",
                                color: "rgba(12,143,221,.8)",
                                axisYType: "secondary",
                                 dataPoints: dps1 },

                            { type: "splineArea",
                                showInLegend: true,
                                name: "MA",
                                color: "rgba(192,143,121,.8)",
                                axisYType: "secondary",
                                 dataPoints: dps2 } ]

                });


                revenueBarChart.render();
            }); 

JSON:

[{"palabra":"pa","y":22,"label":"2017-05-28"},
 {"palabra":"ma","y":10,"label":"2017-05-28"},
 {"palabra":"pa","y":8,"label":"2017-05-29"},
 {"palabra":"ma","y":30,"label":"2017-05-29"},
 {"palabra":"pa","y":0,"label":"2017-05-30"},
 {"palabra":"ma","y":0,"label":"2017-05-30"},
 {"palabra":"pa","y":12,"label":"2017-05-31"},
 {"palabra":"ma","y":16,"label":"2017-05-31"},                    
 {"palabra":"pa","y":7,"label":"2017-06-01"},
 {"palabra":"ma","y":36,"label":"2017-06-01"},
 {"palabra":"pa","y":12,"label":"2017-06-02"},
 {"palabra":"ma","y":33,"label":"2017-06-02"},
 {"palabra":"pa","y":0,"label":"2017-06-03"},
 {"palabra":"ma","y":14,"label":"2017-06-03"},{"palabra":"pa","y":5,"label":"2017-06-04"},{"palabra":"ma","y":30,"label":"2017-06-04"},{"palabra":"pa","y":19,"label":"2017-06-05"},{"palabra":"ma","y":25,"label":"2017-06-05"},{"palabra":"pa","y":11,"label":"2017-06-06"},{"palabra":"ma","y":35,"label":"2017-06-06"},{"palabra":"pa","y":24,"label":"2017-06-07"},{"palabra":"ma","y":34,"label":"2017-06-07"},{"palabra":"pa","y":24,"label":"2017-06-08"},{"palabra":"ma","y":59,"label":"2017-06-08"},{"palabra":"pa","y":0,"label":"2017-06-09"},{"palabra":"ma","y":39,"label":"2017-06-09"},{"palabra":"pa","y":14,"label":"2017-06-10"},{"palabra":"ma","y":22,"label":"2017-06-10"},{"palabra":"pa","y":13,"label":"2017-06-11"},{"palabra":"ma","y":6,"label":"2017-06-11"},{"palabra":"pa","y":18,"label":"2017-06-12"},{"palabra":"ma","y":32,"label":"2017-06-12"},{"palabra":"pa","y":17,"label":"2017-06-13"},{"palabra":"ma","y":49,"label":"2017-06-13"},{"palabra":"pa","y":15,"label":"2017-06-14"},{"palabra":"ma","y":12,"label":"2017-06-14"}]

MDN

中所述

Given a date string of “March 7, 2014”, parse() assumes a local time zone, but given an ISO format such as “2014-03-07” it will assume a time zone of UTC (ES5 and ECMAScript 2015). Therefore Date objects produced using those strings may represent different moments in time depending on the version of ECMAScript supported unless the system is set with a local time zone of UTC. This means that two date strings that appear equivalent may result in two different values depending on the format of the string that is being converted.

请查看 this thread 了解更多信息。

我在推入 DSP1 和 DSP2 阵列之前添加了这个:

var current = new Date(result[i].label); 
                var followingDay = new Date(current.getTime() + 12400000); 
                followingDay.toLocaleDateString();

我确定这不是非常准确..但现在有效..