Ah yes, I see the problem here. From the data you provided above it looks like you're plotting a column for each month. The problem is, is that not all months are the same length. The DateTimeAxis is a continuous axis and will show gaps in this situation as a result of this. If you were at the day level this wouldn't happen because each column would be spaced out evenly.
In this situation a CategoryAxis would probably be more appropriate. Your data is discrete in the sense that you have 12 pieces of information you want to show. Each 'category' would be a String representing the month the column is showing the value for. (To clarify, your data doesn't necessarily need to be a String as we will call the toString() method on it but, especially for Dates, you will probably want to do some form of formatting)
Our CategoryAxes will show each tick label, overlapping if necessary, and won't allow a tick frequency to be set. However, if you did want to hide some but not all labels you can make use of the ShinobiChart.OnTickMarkUpdateListener (and/or ShinobiChart.OnTickMarkDrawListener) callback interface. This gives you access to each tick mark allowing you to hide the label and tick line as well as various other things.
Hopefully that all makes sense and allows you to get your desired result!