The solution from this question fits the problem. I just added the trigger in different places to handle specific changes to suit my issue.
fullcalendar.js
function prev() {
renderView(-1);
trigger('complete', null, true);
}
function next() {
renderView(1);
trigger('complete', null, true);
}
function today() {
date = new Date();
renderView();
trigger('complete', null, true);
}
my javascript
complete: function () {
paintCalendar(dailyPercentage);
}