I agree broadly with Maarten, as a click on his link will imply, but other answers are possible.
Note first that many people would regard a spineplot as just a special case of a mosaic plot. Programs or functions in your favourite software are perhaps more likely to use the second term.
That said, a good old-fashioned bar chart or (Cleveland) dot chart can work as well here as anything else, although some designs are better than others. In particular, stacked (divided) bar charts divide the world: some love them, some hate them.
Pie charts? Just say no.
Yet further, your question leaves open quite what you want your graph to show. Do you want to emphasise frequencies or to emphasise proportions or (quite reasonably) to have it both ways? The spineplot
implementation in Stata used by Maarten can show absolute numbers as well as conveying the fractional breakdown, and that's surely a standard feature in other environments.