Search code examples
javascriptcanvasjs

CanvasJS: How to label axisX by week starting on Saturday?


I'm using CanvasJS to create a stacked bar chart by week. Our weeks start on Saturday, but CanvasJS seems to default to weeks starting on Sunday. Thus, the labels for this chart start on 11/3 rather than 11/2 as I need.

I found this post on the CanvasJS forum which suggests that setting minimum and maximum might help, but when I tried that, it merely shifted the plot area (as you'd expect), but the labels still reflect Sundays, not Saturdays

    <!DOCTYPE HTML>
    <html>
    <head>
      <script type="text/javascript">
      window.onload = function () {
        var chart = new CanvasJS.Chart("chartContainer",
        {
          title:{
          text: "Evening Sales of a Restaurant"
          },
          axisX: {
            intervalType: "week",
            interval: 1
          },
          data: [
          {
            type: "stackedBar",
             dataPoints: [
            { x: new Date("11/2/2019"), y: 71 },
            { x: new Date("11/9/2019"), y: 55},
            { x: new Date("11/16/2019"), y: 50 },
            { x: new Date("11/23/2019"), y: 65 },
            { x: new Date("11/30/2019"), y: 95 }
            ]
          },
            {
            type: "stackedBar",
             dataPoints: [
            { x: new Date("11/2/2019"), y: 20 },
            { x: new Date("11/9/2019"), y: 35},
            { x: new Date("11/16/2019"), y: 30 },
            { x: new Date("11/23/2019"), y: 45 },
            { x: new Date("11/30/2019"), y: 25 }
            ]
          }
          ]
        });

        chart.render();
      }
      </script>
     <script type="text/javascript" src="https://canvasjs.com/assets/script/canvasjs.min.js"></script></head>
    <body>
      <div id="chartContainer" style="height: 300px; width: 100%;">
      </div>
    </body>
    </html>

Solution

  • From CanvasJS:

    It’s not possible to control the starting point of label, as of now. We will reconsider this behaviour in future releases.

    https://canvasjs.com/forums/topic/how-to-label-axisx-by-week-starting-on-saturday/