@@ -12,9 +12,10 @@
 
     {% block init %}
     nv.addGraph(function() {
-        var chart = nv.models.{{ chart.model }}(){% if chart.use_interactive_guideline %}.useInteractiveGuideline(true){% endif %};
+        var chart = nv.models.{{ chart.model }}(){% if chart.use_interactive_guideline %}.useInteractiveGuideline(true){% endif %}{% if not chart.show_controls %}.showControls(false){% endif %};
 
         chart.margin({top: {{ chart.margin_top }}, right: {{ chart.margin_right }}, bottom: {{ chart.margin_bottom }}, left: {{ chart.margin_left }}});
+        chart.xAxis.rotateLabels({{chart.xAxis_rotateLabel}})
 
         var datum = data_{{ chart.name }};
 
@@ -81,7 +82,7 @@
     {% block custoattr %}
         {# add custom chart attributes #}
         {% for attr, value in chart.chart_attr.items() %}
-            {% if value is string and value.startswith(".") %}:
+            {% if value is string and value.startswith(".") %}
                 chart.{{ attr }}{{ value }};
             {% else %}
                 chart.{{ attr }}({{ value }});
@@ -97,13 +98,19 @@
 
     {% endblock custoattr %}
 
+    {% block y_axis_scale %}
+    {% if chart.y_axis_scale_min or chart.y_axis_scale_max %}
+        chart.forceY([{{ chart.y_axis_scale_min }},{{ chart.y_axis_scale_max }}]);
+    {% endif %}
+    {% endblock y_axis_scale %}
+
     {% block inject %}
         {# Inject data to D3 #}
         d3.select('#{{ chart.name }} svg')
             .datum(datum)
             .transition().duration(500)
             {% if chart.width %}
-            .attr('width', {{ chart.width}})
+            .attr('width', '{{ chart.width}}')
             {% endif %}
             {% if chart.height %}
             .attr('height', {{ chart.height}})
@@ -116,6 +123,11 @@
         {{ chart.extras }}
     {% endif %}
 
+    {# callback for clicking on charts #}
+    {% if chart.callback %}
+       },{{ chart.callback }});
+    {% endif %}
+
     {# closing nv.addGraph #}
     {% block close %}
     });