I'm a big fan of this approach: get away from the pre-REST API mindset (especially the oxymoronically-named "RESTful APIs") and just offer machine-readable views of the same content. For example, if can request
/charts/x-vs-y.html to view in your browser, then requesting
/charts/x-vs-y.csv,
/charts/x-vs-y.json, or
/charts/x-vs-y.xml should return machine-readable versions of the data used to generate the HTML: one controller, multiple views. If you want to get fancy, you can also offer
/charts/x-vs-y.rss or
/charts/x-vs-y.atom so that people can subscribe and see when the content on the page changes (but that's not always simple to calculate).
Cheers, David