to avoid overlap, you need a field in your data that contains both Year AND Month, then group your data by that field.
As for limiting it to six months, just do a find for where your income date falls in the last six months, then the chart will only show your found set of data, if you configured it to show based on found set.
ditto! when I have a DATE field, I have a corresponding yr_mon (TEXT) field with auto-enter to:
Year(myDate) & "_" & Right("00" & Month(myDate) ; 2 )
to always provide an alpha-sortable field that is used in reports, charts, searches, etc.