Improve examples
diff --git a/MPChartExample/src/com/xxmassdeveloper/mpchartexample/BarChartActivity.java b/MPChartExample/src/com/xxmassdeveloper/mpchartexample/BarChartActivity.java
index 5617568..6c8fcca 100644
--- a/MPChartExample/src/com/xxmassdeveloper/mpchartexample/BarChartActivity.java
+++ b/MPChartExample/src/com/xxmassdeveloper/mpchartexample/BarChartActivity.java
@@ -16,6 +16,7 @@
 import android.widget.Toast;
 
 import com.github.mikephil.charting.charts.BarChart;
+import com.github.mikephil.charting.components.AxisBase;
 import com.github.mikephil.charting.components.Legend;
 import com.github.mikephil.charting.components.Legend.LegendForm;
 import com.github.mikephil.charting.components.Legend.LegendPosition;
@@ -85,6 +86,8 @@
         xAxis.setPosition(XAxisPosition.BOTTOM);
         xAxis.setTypeface(mTf);
         xAxis.setDrawGridLines(false);
+        xAxis.setGranularity(1f); // only intervals of 1 day
+        xAxis.setValueFormatter(new DayAxisFormatter());
 
         AxisValueFormatter custom = new MyAxisValueFormatter();
 
@@ -145,7 +148,7 @@
                 break;
             }
             case R.id.actionToggleHighlight: {
-                if(mChart.getData() != null) {
+                if (mChart.getData() != null) {
                     mChart.getData().setHighlightEnabled(!mChart.getData().isHighlightEnabled());
                     mChart.invalidate();
                 }
@@ -167,7 +170,7 @@
             }
             case R.id.actionToggleBarBorders: {
                 for (IBarDataSet set : mChart.getData().getDataSets())
-                    ((BarDataSet)set).setBarBorderWidth(set.getBarBorderWidth() == 1.f ? 0.f : 1.f);
+                    ((BarDataSet) set).setBarBorderWidth(set.getBarBorderWidth() == 1.f ? 0.f : 1.f);
 
                 mChart.invalidate();
                 break;
@@ -230,12 +233,14 @@
 
     private void setData(int count, float range) {
 
-        mChart.getXAxis().setAxisMinValue(0f);
-        mChart.getXAxis().setAxisMaxValue(count+1f);
+        float start = 0.5f;
+
+        mChart.getXAxis().setAxisMinValue(start);
+        mChart.getXAxis().setAxisMaxValue(start + count);
 
         ArrayList<BarEntry> yVals1 = new ArrayList<BarEntry>();
 
-        for (int i = 0; i < count; i++) {
+        for (int i = (int) start; i < start + count; i++) {
             float mult = (range + 1);
             float val = (float) (Math.random() * mult);
             yVals1.add(new BarEntry(i + 1f, val));
@@ -245,12 +250,12 @@
 
         if (mChart.getData() != null &&
                 mChart.getData().getDataSetCount() > 0) {
-            set1 = (BarDataSet)mChart.getData().getDataSetByIndex(0);
+            set1 = (BarDataSet) mChart.getData().getDataSetByIndex(0);
             set1.setYVals(yVals1);
             mChart.getData().notifyDataChanged();
             mChart.notifyDataSetChanged();
         } else {
-            set1 = new BarDataSet(yVals1, "DataSet");
+            set1 = new BarDataSet(yVals1, "The year 2017");
             set1.setColors(ColorTemplate.MATERIAL_COLORS);
 
             ArrayList<IBarDataSet> dataSets = new ArrayList<IBarDataSet>();
@@ -284,5 +289,92 @@
     }
 
     public void onNothingSelected() {
-    };
+    }
+
+    private class DayAxisFormatter implements AxisValueFormatter {
+
+        protected String[] mMonths = new String[]{
+                "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"
+        };
+
+        @Override
+        public String getFormattedValue(float value, AxisBase axis) {
+            
+            int dayOfYear = (int) value;
+
+            int month = determineMonth(dayOfYear);
+            int dayOfMonth = determineDayOfMonth(dayOfYear, month);
+
+            String appendix = "th";
+
+            switch (dayOfMonth) {
+                case 1:
+                    appendix = "st";
+                    break;
+                case 2:
+                    appendix = "nd";
+                    break;
+                case 3:
+                    appendix = "rd";
+                    break;
+                case 21:
+                    appendix = "st";
+                    break;
+                case 22:
+                    appendix = "nd";
+                    break;
+                case 23:
+                    appendix = "rd";
+                    break;
+                case 31:
+                    appendix = "st";
+                    break;
+            }
+
+            return dayOfMonth + appendix + " " + mMonths[month % mMonths.length];
+        }
+
+        private int getDaysForMonth(int month) {
+
+            if (month == 1) {
+                return 28;
+            }
+
+            if (month == 3 || month == 5 || month == 8 || month == 10)
+                return 30;
+            else
+                return 31;
+        }
+
+        private int determineMonth(int dayOfYear) {
+
+            int month = -1;
+            int days = 0;
+
+            while (days < dayOfYear) {
+                month++;
+                days += getDaysForMonth(month);
+            }
+
+            return month;
+        }
+
+        private int determineDayOfMonth(int dayOfYear, int month) {
+
+            int count = 0;
+            int days = 0;
+
+            while (count < month) {
+                days += getDaysForMonth(count);
+                count++;
+            }
+
+            return dayOfYear - days;
+        }
+
+        @Override
+        public int getDecimalDigits() {
+            return 0;
+        }
+    }
 }
diff --git a/MPChartExample/src/com/xxmassdeveloper/mpchartexample/ScatterChartActivity.java b/MPChartExample/src/com/xxmassdeveloper/mpchartexample/ScatterChartActivity.java
index 916b211..0bac51c 100644
--- a/MPChartExample/src/com/xxmassdeveloper/mpchartexample/ScatterChartActivity.java
+++ b/MPChartExample/src/com/xxmassdeveloper/mpchartexample/ScatterChartActivity.java
@@ -24,7 +24,6 @@
 import com.github.mikephil.charting.interfaces.datasets.IScatterDataSet;
 import com.github.mikephil.charting.listener.OnChartValueSelectedListener;
 import com.github.mikephil.charting.utils.ColorTemplate;
-import com.xxmassdeveloper.mpchartexample.custom.MonthXAxisFormatter;
 import com.xxmassdeveloper.mpchartexample.notimportant.DemoBase;
 
 import java.util.ArrayList;
@@ -89,7 +88,6 @@
         XAxis xl = mChart.getXAxis();
         xl.setTypeface(tf);
         xl.setDrawGridLines(false);
-        xl.setValueFormatter(new MonthXAxisFormatter());
     }
 
     @Override
diff --git a/MPChartExample/src/com/xxmassdeveloper/mpchartexample/custom/MonthXAxisFormatter.java b/MPChartExample/src/com/xxmassdeveloper/mpchartexample/custom/MonthXAxisFormatter.java
deleted file mode 100644
index ffa49ec..0000000
--- a/MPChartExample/src/com/xxmassdeveloper/mpchartexample/custom/MonthXAxisFormatter.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.xxmassdeveloper.mpchartexample.custom;
-
-import com.github.mikephil.charting.components.AxisBase;
-import com.github.mikephil.charting.formatter.AxisValueFormatter;
-
-/**
- * Created by Philipp Jahoda on 14/09/15.
- */
-public class MonthXAxisFormatter implements AxisValueFormatter {
-
-    protected String[] mMonths = new String[]{
-            "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"
-    };
-
-    public MonthXAxisFormatter() {
-        // maybe do something here or provide parameters in constructor
-
-    }
-
-    @Override
-    public String getFormattedValue(float value, AxisBase axis) {
-
-        float percent = value / axis.mAxisRange;
-        return mMonths[(int) (mMonths.length * percent)];
-    }
-
-    @Override
-    public int getDecimalDigits() {
-        return 0;
-    }
-}