Input data is each food-related expense, and daily food budget (budget per meal * number of meals).
Expenses are then spread on the days they (should) cover, according to the daily food budget.
If multiple expenses cover the same day, the day's food expense increases above the daily food budget threshold.
- Use euclidian division and properly take remainder into account when daily budget is not a multiple of expense amount.
- Handle the case where expenses cover a longer period than they should.
- Refine color quantization to use less colors.
- Add a threshold to have two categories: days below and above daily food budget.
- Properly draw month borders.
- Add more labels