We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

Chart Rendering performance issues

Hi,
We are creating Charts using angularjs, but the performance seems really poor rendering the chart. Is there a better way to create / render the chart to increase performance. Below is how we create the chart and populate it

 <div id="chartInContext" class="chartInContext" ng-show="showChart"
             ej-chart
             e-locale="locale"
             e-canresize="true"
             e-enableanimation="false"
             e-enablecanvasrendering="true"
             e-zooming-enable="true"
             e-zooming-enablemousewheel="true"
             e-title-font-size="12px"
             e-series="chartSeriesCollection"
             e-commonseriesoptions-datasource="dataSource"
             e-commonseriesoptions-xname="timestamp"
             e-commonseriesoptions-yname="value"
             e-commonseriesoptions-type="line"
             e-primaryxaxis-valuetype="datetime"
             e-primaryxaxis-labelformat="localeDateFormat"
             e-primaryxaxis-majorgridlines-visible="false"
             e-primaryxaxis-font-size="8px"
             e-primaryxaxis-edgelabelplacement="shift"
             e-primaryxaxis-labelintersectaction="rotate45"
             e-primaryyaxis-valuetype="double"
             e-legend-visible="true"
             e-commonseriesoptions-tooltip-visible="true"
             e-commonseriesoptions-tooltip-format="#series.name#"
             e-annotations-content="chartSubTitle">
        </div>

        $scope.$on("chartDataRetrieved", function (event, chartData) {
            $scope.showChart = true;
            $scope.showError = false;
            var chartSeriesCollection = [];
            angular.forEach(chartData.dataSeries, function (value, key) {
                var chartSeries = {
                    dataSource: value.dataPoints,
                    name: value.seriesName
                }
                chartSeriesCollection.push(chartSeries);
            });
            $scope.chartSeriesCollection = chartSeriesCollection;
            $scope.isLoading = false;
        });

Cheers ... Rob.

2 Replies

RO Rob ONeill July 22, 2015 08:56 AM UTC

Sorry no real issue, we were doing an angular.copy() on the data when we retrieved it from the database, this was causing the delay.


VA Vinothkumar Arumugam Syncfusion Team July 22, 2015 09:26 AM UTC

Hi Rob,
Thanks for using Syncfusion products.
Please let us know if you need any assistance.
Thanks,
Vinothkumar Arumugam.

Loader.
Live Chat Icon For mobile
Up arrow icon