title: MPAndroidChart BarChart xValues Issue
body: <p>I noticed an issue with the <code>BarChart</code> of <code>MPAndroidChart</code> and need a fix. First my code:</p>
  
  <pre><code>this.barChart = (BarChart) view.findViewById(R.id.bar_fragment_bar_chart);
  this.barChart.setDrawYValues(true);
  this.barChart.setDrawXLabels(false);
  this.barChart.setDrawValueAboveBar(true);
  this.barChart.setDrawBorder(false);
  this.barChart.setDrawGridBackground(false);
  this.barChart.setDrawHorizontalGrid(true);
  this.barChart.setDrawVerticalGrid(false);
  this.barChart.setDrawBarShadow(false);
  this.barChart.setDescription("");
  this.barChart.setNoDataTextDescription("");
  this.barChart.set3DEnabled(false);
  </code></pre>
  
  <p>My <code>xValues</code> are simple dates:</p>
  
  <pre><code>ArrayList&lt;String&gt; xValues = new ArrayList&lt;String&gt;();
  
  for(int i = 0; i &lt; measureDataListEntry.size(); i++) {
      String StringValue = measureDataListEntry.get(i).getTime();
      Long value = Long.parseLong(StringValue) * 1000;
      DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy", Locale.GERMAN);
      String date = dateFormat.format(new Date(value));
  
      xValues.add(date);
  }
  </code></pre>
  
  <p>Now i have multiple datasets:</p>
  
  <pre><code>ArrayList&lt;BarEntry&gt; yValuesMonday = new ArrayList&lt;BarEntry&gt;();
  ArrayList&lt;BarEntry&gt; yValuesTuesday = new ArrayList&lt;BarEntry&gt;();
  ArrayList&lt;BarEntry&gt; yValuesWednesday = new ArrayList&lt;BarEntry&gt;();
  ArrayList&lt;BarEntry&gt; yValuesThursday = new ArrayList&lt;BarEntry&gt;();
  ArrayList&lt;BarEntry&gt; yValuesFriday = new ArrayList&lt;BarEntry&gt;();
  ArrayList&lt;BarEntry&gt; yValuesSaturday = new ArrayList&lt;BarEntry&gt;();
  ArrayList&lt;BarEntry&gt; yValuesSunday = new ArrayList&lt;BarEntry&gt;();
  
  for(int i = 0; i &lt; measureDataListEntry.size(); i++) {
      String stringValue = measureDataListEntry.get(i).getValue();
      int dayOfWeek = Helper.getDayOfWeek(measureDataListEntry.get(i).getTime());
      float value = Float.parseFloat(stringValue);
  
      switch(dayOfWeek) {
      case Calendar.MONDAY:
          yValuesMonday.add(new BarEntry(value, i));
          break;
      case Calendar.TUESDAY:
          yValuesTuesday.add(new BarEntry(value, i));
          break;
      case Calendar.WEDNESDAY:
          yValuesWednesday.add(new BarEntry(value, i));
          break;
      case Calendar.THURSDAY:
          yValuesThursday.add(new BarEntry(value, i));
          break;
      case Calendar.FRIDAY:
          yValuesFriday.add(new BarEntry(value, i));
          break;
      case Calendar.SATURDAY:
          yValuesSaturday.add(new BarEntry(value, i));
          break;
      case Calendar.SUNDAY:
          yValuesSunday.add(new BarEntry(value, i));
          break;
      }
  }
  
  BarDataSet barDataSetMonday = new BarDataSet(yValuesMonday, this.getResources().getString(R.string.text_monday));
  
  barDataSetMonday.setColor(this.getResources().getColor(R.color.diagramGreenColor));
  
  BarDataSet barDataSetTuesday = new BarDataSet(yValuesTuesday, this.getResources().getString(R.string.text_tuesday));
  
  barDataSetTuesday.setColor(this.getResources().getColor(R.color.diagramOrangeColor));
  
  BarDataSet barDataSetWednesday = new BarDataSet(yValuesWednesday, this.getResources().getString(R.string.text_wednesday));
  
  barDataSetWednesday.setColor(this.getResources().getColor(R.color.diagramPinkColor));
  
  BarDataSet barDataSetThursday = new BarDataSet(yValuesThursday, this.getResources().getString(R.string.text_thursday));
  
  barDataSetThursday.setColor(this.getResources().getColor(R.color.diagramBlackColor));
  
  BarDataSet barDataSetFriday = new BarDataSet(yValuesFriday, this.getResources().getString(R.string.text_friday));
  
  barDataSetFriday.setColor(this.getResources().getColor(R.color.diagramBlueColor));
  
  BarDataSet barDataSetSaturday = new BarDataSet(yValuesSaturday, this.getResources().getString(R.string.text_saturday));
  
  barDataSetSaturday.setColor(this.getResources().getColor(R.color.diagramRedColor));
  
  BarDataSet barDataSetSunday = new BarDataSet(yValuesSunday, this.getResources().getString(R.string.text_sunday));
  
  barDataSetSunday.setColor(this.getResources().getColor(R.color.diagramYellowColor));
  
  ArrayList&lt;BarDataSet&gt; dataSets = new ArrayList&lt;BarDataSet&gt;();
  
  dataSets.add(barDataSetMonday);
  dataSets.add(barDataSetTuesday);
  dataSets.add(barDataSetWednesday);
  dataSets.add(barDataSetThursday);
  dataSets.add(barDataSetFriday);
  dataSets.add(barDataSetSaturday);
  dataSets.add(barDataSetSunday);
  
  BarData data = new BarData(xValues, dataSets);
  
  this.barChart.setData(data);
  this.barChart.animateY(1000);
  </code></pre>
  
  <p>My Problem now is that the <code>xLabels</code> and the <code>xValues</code> arent matching at all:</p>
  
  <p><img src="https://i.stack.imgur.com/9VN7E.png" alt="enter image description here"></p>
  
  <p>The bars are placed far far behind the <code>xLabels</code> and there is extremely much space between the last entry and the entry before the last entry.</p>
  
  <p>I also tested how it looks when I put all data into one data-set. the <code>xLabels</code> also aren't matching the <code>xValues</code>:</p>
  
  <p><img src="https://i.stack.imgur.com/SmsrS.png" alt="enter image description here"></p>
  
  <p>How can I fix that issue?</p>
  
  <p><strong>EDIT</strong></p>
  
  <p><img src="https://i.stack.imgur.com/k3lmG.png" alt="enter image description here"></p>
  
  <p>The date you see here in the <code>xLabels</code> belongs to the bar. So why is the position of the <code>xLabel</code> so far away from the bar?</p>
  
  <p><strong>EDIT 2:</strong></p>
  
  <p>With <code>LineChart</code>:</p>
  
  <pre><code>protected void initData() {
      List&lt;MeasureDataListEntry&gt; measureDataListEntry = null;
  
      if(this.favourite) {
          measureDataListEntry = this.sessionMeasureDataListFavourite.getMeasureDataList().getMeasureDataListEntries();
      } else {
          measureDataListEntry = this.sessionMeasureDataList.getMeasureDataList().getMeasureDataListEntries();
      }
  
      ArrayList&lt;String&gt; xValues = new ArrayList&lt;String&gt;();
      ArrayList&lt;Entry&gt; yValuesMonday = new ArrayList&lt;Entry&gt;();
      ArrayList&lt;Entry&gt; yValuesTuesday = new ArrayList&lt;Entry&gt;();
      ArrayList&lt;Entry&gt; yValuesWednesday = new ArrayList&lt;Entry&gt;();
      ArrayList&lt;Entry&gt; yValuesThursday = new ArrayList&lt;Entry&gt;();
      ArrayList&lt;Entry&gt; yValuesFriday = new ArrayList&lt;Entry&gt;();
      ArrayList&lt;Entry&gt; yValuesSaturday = new ArrayList&lt;Entry&gt;();
      ArrayList&lt;Entry&gt; yValuesSunday = new ArrayList&lt;Entry&gt;();
  
      for(int i = 0; i &lt; measureDataListEntry.size(); i++) {
          String StringValue = measureDataListEntry.get(i).getTime();
          Long value = Long.parseLong(StringValue) * 1000;
          DateFormat dateFormat = new SimpleDateFormat("dd.MM.yyyy", Locale.GERMAN);
          String date = dateFormat.format(new Date(value));
  
          xValues.add(date);
      }
  
      for(int i = 0; i &lt; measureDataListEntry.size(); i++) {
          String stringValue = measureDataListEntry.get(i).getValue();
          int dayOfWeek = Helper.getDayOfWeek(measureDataListEntry.get(i).getTime());
          float value = Float.parseFloat(stringValue);
  
          switch(dayOfWeek) {
          case Calendar.MONDAY:
              yValuesMonday.add(new Entry(value, i));
              break;
          case Calendar.TUESDAY:
              yValuesTuesday.add(new Entry(value, i));
              break;
          case Calendar.WEDNESDAY:
              yValuesWednesday.add(new Entry(value, i));
              break;
          case Calendar.THURSDAY:
              yValuesThursday.add(new Entry(value, i));
              break;
          case Calendar.FRIDAY:
              yValuesFriday.add(new Entry(value, i));
              break;
          case Calendar.SATURDAY:
              yValuesSaturday.add(new Entry(value, i));
              break;
          case Calendar.SUNDAY:
              yValuesSunday.add(new Entry(value, i));
              break;
          }
      }
  
      LineDataSet lineDataSetMonday = new LineDataSet(yValuesMonday, this.getResources().getString(R.string.text_monday));
  
      lineDataSetMonday.setColor(this.getResources().getColor(R.color.diagramGreenColor));
      lineDataSetMonday.setCircleColor(this.getResources().getColor(R.color.diagramGreenColor));
      lineDataSetMonday.setLineWidth(1f);
      lineDataSetMonday.setCircleSize(4f);
      lineDataSetMonday.setFillAlpha(65);
      lineDataSetMonday.setFillColor(this.getResources().getColor(R.color.diagramGreenColor));
  
      LineDataSet lineDataSetTuesday = new LineDataSet(yValuesTuesday, this.getResources().getString(R.string.text_tuesday));
  
      lineDataSetTuesday.setColor(this.getResources().getColor(R.color.diagramOrangeColor));
      lineDataSetTuesday.setCircleColor(this.getResources().getColor(R.color.diagramOrangeColor));
      lineDataSetTuesday.setLineWidth(1f);
      lineDataSetTuesday.setCircleSize(4f);
      lineDataSetTuesday.setFillAlpha(65);
      lineDataSetTuesday.setFillColor(this.getResources().getColor(R.color.diagramOrangeColor));
  
      LineDataSet lineDataSetWednesday = new LineDataSet(yValuesWednesday, this.getResources().getString(R.string.text_wednesday));
  
      lineDataSetWednesday.setColor(this.getResources().getColor(R.color.diagramPinkColor));
      lineDataSetWednesday.setCircleColor(this.getResources().getColor(R.color.diagramPinkColor));
      lineDataSetWednesday.setLineWidth(1f);
      lineDataSetWednesday.setCircleSize(4f);
      lineDataSetWednesday.setFillAlpha(65);
      lineDataSetWednesday.setFillColor(this.getResources().getColor(R.color.diagramPinkColor));
  
      LineDataSet lineDataSetThursday = new LineDataSet(yValuesThursday, this.getResources().getString(R.string.text_thursday));
  
      lineDataSetThursday.setColor(this.getResources().getColor(R.color.diagramBlackColor));
      lineDataSetThursday.setCircleColor(this.getResources().getColor(R.color.diagramBlackColor));
      lineDataSetThursday.setLineWidth(1f);
      lineDataSetThursday.setCircleSize(4f);
      lineDataSetThursday.setFillAlpha(65);
      lineDataSetThursday.setFillColor(this.getResources().getColor(R.color.diagramBlackColor));
  
      LineDataSet lineDataSetFriday = new LineDataSet(yValuesFriday, this.getResources().getString(R.string.text_friday));
  
      lineDataSetFriday.setColor(this.getResources().getColor(R.color.diagramBlueColor));
      lineDataSetFriday.setCircleColor(this.getResources().getColor(R.color.diagramBlueColor));
      lineDataSetFriday.setLineWidth(1f);
      lineDataSetFriday.setCircleSize(4f);
      lineDataSetFriday.setFillAlpha(65);
      lineDataSetFriday.setFillColor(this.getResources().getColor(R.color.diagramBlueColor));
  
      LineDataSet lineDataSetSaturday = new LineDataSet(yValuesSaturday, this.getResources().getString(R.string.text_saturday));
  
      lineDataSetSaturday.setColor(this.getResources().getColor(R.color.diagramRedColor));
      lineDataSetSaturday.setCircleColor(this.getResources().getColor(R.color.diagramRedColor));
      lineDataSetSaturday.setLineWidth(1f);
      lineDataSetSaturday.setCircleSize(4f);
      lineDataSetSaturday.setFillAlpha(65);
      lineDataSetSaturday.setFillColor(this.getResources().getColor(R.color.diagramRedColor));
  
      LineDataSet lineDataSetSunday = new LineDataSet(yValuesSunday, this.getResources().getString(R.string.text_sunday));
  
      lineDataSetSunday.setColor(this.getResources().getColor(R.color.diagramYellowColor));
      lineDataSetSunday.setCircleColor(this.getResources().getColor(R.color.diagramYellowColor));
      lineDataSetSunday.setLineWidth(1f);
      lineDataSetSunday.setCircleSize(4f);
      lineDataSetSunday.setFillAlpha(65);
      lineDataSetSunday.setFillColor(this.getResources().getColor(R.color.diagramYellowColor));
  
      ArrayList&lt;LineDataSet&gt; dataSets = new ArrayList&lt;LineDataSet&gt;();
  
      dataSets.add(lineDataSetMonday);
      dataSets.add(lineDataSetTuesday);
      dataSets.add(lineDataSetWednesday);
      dataSets.add(lineDataSetThursday);
      dataSets.add(lineDataSetFriday);
      dataSets.add(lineDataSetSaturday);
      dataSets.add(lineDataSetSunday);
  
      LineData data = new LineData(xValues, dataSets);
  
      this.lineChart.setData(data);
      this.lineChart.animateX(1000);
  }
  </code></pre>
  
  <p>Everything is working fine:</p>
  
  <p><img src="https://i.stack.imgur.com/wVEG9.png" alt="enter image description here"></p>