Skip to content
Senthil Nasa edited this page Jan 11, 2022 · 2 revisions

pub

A chart library based on High Charts (.JS), able to build advanced charts like Pie chart, linear chart, etc

  

Installing

Add this to your package's pubspec.yaml file:

dependencies:
  high_chart: #latest version

Now in your Dart code, you can use:

import 'package:high_chart/high_chart.dart';

Details see pub.dev.

Usage

The high_chart package itself is very simple to use, just like a common statelessWidget:

 final String _chartData = '''{
      title: {
          text: 'Combination chart'
      },    
      xAxis: {
          categories: ['Apples', 'Oranges', 'Pears', 'Bananas', 'Plums']
      },
      labels: {
          items: [{
              html: 'Total fruit consumption',
              style: {
                  left: '50px',
                  top: '18px',
                  color: ( // theme
                      Highcharts.defaultOptions.title.style &&
                      Highcharts.defaultOptions.title.style.color
                  ) || 'black'
              }
          }]
      },
      series: [{
          type: 'column',
          name: 'Jane',
          data: [3, 2, 1, 3, 3]
      }, {
          type: 'column',
          name: 'John',
          data: [2, 4, 5, 7, 6]
      }, {
          type: 'column',
          name: 'Joe',
          data: [4, 3, 3, 5, 0]
      }, {
          type: 'spline',
          name: 'Average',
          data: [3, 2.67, 3, 6.33, 3.33],
          marker: {
              lineWidth: 2,
              lineColor: Highcharts.getOptions().colors[3],
              fillColor: 'white'
          }
      }, {
          type: 'pie',
          name: 'Total consumption',
          data: [{
              name: 'Jane',
              y: 13,
              color: Highcharts.getOptions().colors[0] // Jane's color
          }, {
              name: 'John',
              y: 23,
              color: Highcharts.getOptions().colors[1] // John's color
          }, {
              name: 'Joe',
              y: 19,
              color: Highcharts.getOptions().colors[2] // Joe's color
          }],
          center: [100, 80],
          size: 100,
          showInLegend: false,
          dataLabels: {
              enabled: false
          }
        }]
    }''';

  return HighCharts(
        loader: const SizedBox(
          child: LinearProgressIndicator(),
          width: 200,
        ),
        size: const Size(400, 400),
        data: _chartData,
        scripts: const [
          "https://code.highcharts.com/highcharts.js",
          'https://code.highcharts.com/modules/networkgraph.js',
          'https://code.highcharts.com/modules/exporting.js',
        ],
      );

See the full flutter_High Chart_example.

 HighCharts(
        loader: const SizedBox(
          child: LinearProgressIndicator(),
          width: 200,
        ),
        size: const Size(400, 400),
        data: '''

    // data string

  ''',
        scripts: const [
          "https://code.highcharts.com/highcharts.js",
          'https://code.highcharts.com/modules/networkgraph.js',
          'https://code.highcharts.com/modules/exporting.js',
        ],
      ),
    );
Clone this wiki locally