-
Notifications
You must be signed in to change notification settings - Fork 24
Home
Senthil Nasa edited this page Jan 11, 2022
·
2 revisions
A chart library based on High Charts (.JS), able to build advanced charts like Pie chart, linear chart, etc
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.
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',
],
),
);