Chart.js #4658 test01

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js"></script>
<canvas id="myChart1"></canvas>
<canvas id="myChart2"></canvas>
<canvas id="myChart3"></canvas>
<canvas id="myChart4"></canvas>

JavaScript

var ctx1 = document.getElementById('myChart1').getContext('2d');
var chart1 = new Chart(ctx1, {
  type: 'bar',
  data: {
    labels: ['2017-07-10', '2017-07-10 06:00', '2017-07-10 12:00', '2017-07-10 18:00', '2017-07-11', '2017-07-11 06:00', '2017-07-11 12:00', '2017-07-11 18:00', '2017-07-12', '2017-07-12 06:00', '2017-07-12 12:00', '2017-07-12 18:00', '2017-07-13'],
    datasets: [{
      data: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
    }]
  },
  options: {
    title: {
      display: true,
      text: '1. offset: true (too much margin)'
    },
    scales: {
      xAxes: [{
        type: 'time',
        time: {
          unit: 'day'
        },
        offset: true
      }],
      yAxes: [{
        ticks: {
          beginAtZero: true
        }
      }]
    }
  }
});
var ctx2 = document.getElementById('myChart2').getContext('2d');
var chart2 = new Chart(ctx2, {
  type: 'bar',
  data: {
    labels: ['2017-07-10', '2017-07-11 06:00', '2017-07-11 12:00', '2017-07-11 18:00', '2017-07-13'],
    datasets: [{
      data: [1, 6, 7, 8, 13]
    }]
  },
  options: {
    title: {
      display: true,
      text: '2. offset: true (short of margin)'
    },
    scales: {
      xAxes: [{
        type: 'time',
        time: {
          unit: 'day'
        },
        offset: true
      }],
      yAxes: [{
        ticks: {
          beginAtZero: true
        }
      }]
    }
  }
});
var ctx3 = document.getElementById('myChart3').getContext('2d');
var chart3 = new Chart(ctx3, {
  type: 'bar',
  data: {
    labels: ['2017-07-10', '2017-07-13'],
    datasets: [{
      data: [1, 2]
    }]
  },
  options: {
    title: {
      display: true,
      text: '3. offset: true, barThickness: \'flex\' (short of margin)'
    },
    scales: {
      xAxes: [{
        type: 'time',
        time: {
          unit: 'day'
        },
        offset: true,
        barThickness: 'flex'
      }],
      yAxes: [{
        ticks: {
          beginAtZero: true
        }
      }]
    }
  }
});

var ctx4 =...