Class called in template, AJAX not registering

You can’t hook into AJAX in a template, because the template’s not going to be loaded by admin-ajax.php when the request is made. You need to hook into AJAX when the plugin is loaded.

Since your hooks are defined in the class constructor (whether nor not this is a good idea is another issue), you need to instantiate your class whenever the WordPress admin is loaded. You could no this by putting $chart = new MyCharts\Chart() directly in your main plugin file, or a file included by it.