title: ChartJS do not render any legend if the label is falsy
body: <p>I am using ChartJS 2.4 and I want to predefine lots of settings in the datasets already. But use an empty data array and an undefined label. Now I want to stop ChartJS from rendering the legend which is then shown as "null" or "undefined". Later I am setting a proper label and start to push data to the dataSet and finally call update() on the chart which works fine.</p>
  
  <p>Here is a basic <a href="https://jsfiddle.net/du9afk1u/8/" rel="nofollow noreferrer">fiddle</a> with this code:</p>
  
  <pre><code>var data = {
      labels: ["January", "February", "March", "April", "May", "June", "July"],
      datasets: [
          {
              fill: false,
              lineTension: 0.1,
              backgroundColor: "rgba(75,192,192,0.4)",
              borderColor: "rgba(75,192,192,1)",
              borderCapStyle: 'butt',
              borderDash: [],
              borderDashOffset: 0.0,
              borderJoinStyle: 'miter',
              pointBorderColor: "rgba(75,192,192,1)",
              pointBackgroundColor: "#fff",
              pointBorderWidth: 1,
              pointHoverRadius: 5,
              pointHoverBackgroundColor: "rgba(75,192,192,1)",
              pointHoverBorderColor: "rgba(220,220,220,1)",
              pointHoverBorderWidth: 2,
              pointRadius: 5,
              pointHitRadius: 10,
              data: [],
          }
      ]
  };
  
  var myLineChart = new Chart("myChart", {
    type: "line",
      data: data
  });
  
  
  setTimeout(function(){
    data.datasets[0].label = "The Label"
    data.datasets[0].data.push(10, 20)
      myLineChart.update()
  }, 2000)
  </code></pre>
  
  <p>I have tried to overwrite generateLabels but I had no luck with that. And the setting dateaset.hidden only strikes through the legend if true but not really "hides". </p>
  
  <p>EDIT 1: On the other hand setting <code>options.legend.display</code> to false hides all the legends and for ever, this is also not what I need.</p>