google / chartjs.dart

ARCHIVED/UNMAINTAINED Dart API for Chart.js
https://pub.dev/packages/chartjs
Other
143 stars 53 forks source link

Using chartjs-plugin-datalabels plugin #39

Open insinfo opened 5 years ago

insinfo commented 5 years ago

How to use Chartjs label plugin in dart

var config = ChartConfiguration( 
        options: ChartOptions(
            responsive: true,
            legend: ChartLegendOptions(position: 'left'),
            title: ChartTitleOptions(display: true, position: 'left'),  
            ),
        type: 'pie', 
        data: LinearChartData(labels: [
          'Anulado',
          'Andamento',
          'Rescindido',
          'Concluido',
          'Aberto',
          'Paralizado'
        ], datasets: <ChartDataSets>[
          ChartDataSets(data: [
            randomScalingFactor(),
            randomScalingFactor(),
            randomScalingFactor(),
            randomScalingFactor(),
            randomScalingFactor(),
            randomScalingFactor(),
          ], backgroundColor: [
            'rgb(255, 99, 132)',
            'rgb(255, 159, 64)',
            'rgb(255, 205, 86)',
            'rgb(75, 192, 192)',
            'rgb(54, 162, 235)',
            'rgb(255, 99, 180)',
          ], label: 'Dataset 1')
        ]));  
    Chart(canvasElement, config);           
    Chart.pluginService.register(Pl());

class Pl implements PluginServiceRegistrationOptions{
  @override
  void afterDatasetsDraw(Chart chartInstance, String easing) {
    // TODO: implement afterDatasetsDraw
  }

  @override
  void afterDatasetsUpdate(Chart chartInstance) {
    // TODO: implement afterDatasetsUpdate
  }

  @override
  void afterDraw(Chart chartInstance, String easing) {
   if(chartInstance.config.options.plugin_name) {

   }
    // TODO: implement afterDraw
  }

  @override
  void afterEvent(Chart chartInstance, html.Event event) {
    // TODO: implement afterEvent
  }

  @override
  void afterInit(Chart chartInstance) {
    // TODO: implement afterInit
  }

  @override
  void afterScaleUpdate(Chart chartInstance) {
    // TODO: implement afterScaleUpdate
  }

  @override
  void afterUpdate(Chart chartInstance) {
    // TODO: implement afterUpdate
  }

  @override
  void beforeDatasetsDraw(Chart chartInstance, String easing) {
    // TODO: implement beforeDatasetsDraw
  }

  @override
  void beforeDatasetsUpdate(Chart chartInstance) {
    // TODO: implement beforeDatasetsUpdate
  }

  @override
  void beforeDraw(Chart chartInstance, String easing) {
    // TODO: implement beforeDraw
  }

  @override
  void beforeEvent(Chart chartInstance, html.Event event) {
    // TODO: implement beforeEvent
  }

  @override
  void beforeInit(Chart chartInstance) {
    // TODO: implement beforeInit
  }

  @override
  void beforeRender(Chart chartInstance) {
    // TODO: implement beforeRender
  }

  @override
  void beforeUpdate(Chart chartInstance) {
    // TODO: implement beforeUpdate
  }

  @override
  void destroy(Chart chartInstance) {
    // TODO: implement destroy
  }

  @override
  void resize(Chart chartInstance, Size newChartSize) {
    // TODO: implement resize
  }

}

in javascript

var chart = new Chart(ctx, {
    plugins: [ChartDataLabels],
    options: {
        // ...
    }
})

https://chartjs-plugin-datalabels.netlify.com/guide/getting-started.html#integration