Angular directive for reactive data visualizations