This is a very simple illustrative chart and is not really the kind of chart you would use in statistical sites but it will be a good starting point for statistical charts too. 

We start by creating the individual bar which will be a stateless widget that takes in label, amount, and percentage, label will be your x tick and amount will be your label on top and percent will be how much of the bar is filled.

we achieve this by using a column with the labels on top and bottom and the actual bar itself will be a stacked with two containers 

import 'package:flutter/material.dart';

class ChartBar extends StatelessWidget {
  final String label;
  final double spendingAmount;
  final double spendingAmountPct;

  ChartBar(this.label, this.spendingAmount, this.spendingAmountPct);
  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        FittedBox(child: Text('\$${spendingAmount.toStringAsFixed(0)}')),
        SizedBox(height: 4),
        Container(
          height: 60,
          width: 10,
          child: Stack(
            children: [
              Container(
                decoration: BoxDecoration(
                  border: Border.all(color: Colors.grey, width: 1),
                  color: Color.fromRGBO(220, 220, 220, 1),
                  borderRadius: BorderRadius.circular(10),
                ),
              ),
              FractionallySizedBox(
                heightFactor: spendingAmountPct,
                child: Container(
                  decoration: BoxDecoration(
                    border: Border.all(color: Colors.grey, width: 1),
                    color: Theme.of(context).primaryColor,
                    borderRadius: BorderRadius.circular(10),
                  ),
                ),
              ),
            ],
          ),
        ),
        SizedBox(height: 4),
        Text(label)
      ],
    );
  }
}