Directive looks wierd
<ui-chart="data" chart-options="chartOptions"></ui-chart>
ui-chart is both tagname and attribute, which looks confusing.
How about
<ui-chart chart-data="data" chart-options="chartOptions"></ui-chart>
Perhaps you would like to declare it this way:
<div ui-chart="data" chart-options="chartOptions"></div>
This is what I'm doing at the moment.
I've been wrestling with this all day, so here's my comment in case someone would fall into similar situation.
It seems that using ui-chart both as a tagname and attribute is not only confusing, but also it doesn't work at all (at least w/ AngularJS 1.2.11, jqPlot 1.0.8 and jQuery 2.1.0).
Changing attrs.uiChart to attrs.chartData in directive's definition and using it as @fuqcool suggested does the trick (@gburnett's answer works w/o such modifications, though).