Charisma is defined as having influence or authority over large number of people due to a special quality. It's fairly obvious Federer was a legend already when he had 5-6 slams due to his jaw dropping playing style. Later on the marketing people came up with polishing his classy image to suit his classic style.
Other people have different special qualities which constitute their charisma. E.g Kournikova for sex appeal.
I don't think people have done well with Djokovic. He seems to be the guy who hangs around the two elite players and does fun stuff at times. No wonder he doesn't have the big contracts.