E Chart Js

OverviewOfficial Website

ECharts, a powerful, interactive charting and visualization library for browser.

Import Package
import ReactEcharts from "echarts-for-react";
import * as echarts from 'echarts/core';
Add Package
yarn add react-chartjs-2 --save
Remove Package
yarn add react-chartjs-2 or you can remove package by removing specific package from package.json
Examples
Title Example
Line Chart
const LineChart = () => {
    var option = {
        grid: {
            left: '0%',
            right: '0%',
            bottom: '0%',
            top: '4%',
            containLabel: true
        },
        xAxis: {
            type: 'category',
            data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
            axisLine: {
                lineStyle: {
                    color: '#858d98'
                },
            },
        },
        yAxis: {
            type: 'value',
            axisLine: {
                lineStyle: {
                    color: '#858d98'
                },
            },
            splitLine: {
                lineStyle: {
                    color: "rgba(133, 141, 152, 0.1)"
                }
            }
        },
        series: [{
            data: [150, 230, 224, 218, 135, 147, 260],
            type: 'line'
        }],
        textStyle: {
            fontFamily: 'Poppins, sans-serif'
        },
        color: ["#0ab39c"]
    };
  
    return (
        <React.Fragment>
            <ReactEcharts style={{ height: "350px" }} option={option} />
        </React.Fragment>
    )
  }
  
Stacked Line Chart
const StackedLineChart = () => {
    var option = {
        tooltip: {
            trigger: 'axis'
        },
        legend: {
            data: ['Email', 'Union Ads', 'Video Ads', 'Direct', 'Search Engine'],
            textStyle: { //The style of the legend text
                color: '#858d98',
            },
        },
        grid: {
            left: '0%',
            right: '0%',
            bottom: '0%',
            containLabel: true
        },
        toolbox: {
            feature: {
                saveAsImage: {}
            }
        },
        xAxis: {
            type: 'category',
            boundaryGap: false,
            data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
            axisLine: {
                lineStyle: {
                    color: '#858d98'
                },
            },
        },
        yAxis: {
            type: 'value',
            axisLine: {
                lineStyle: {
                    color: '#858d98'
                },
            },
            splitLine: {
                lineStyle: {
                    color: "rgba(133, 141, 152, 0.1)"
                }
            }
        },
        series: [{
            name: 'Email',
            type: 'line',
            stack: 'Total',
            data: [120, 132, 101, 134, 90, 230, 210],
        },
        {
            name: 'Union Ads',
            type: 'line',
            stack: 'Total',
            data: [220, 182, 191, 234, 290, 330, 310]
        },
        {
            name: 'Video Ads',
            type: 'line',
            stack: 'Total',
            data: [150, 232, 201, 154, 190, 330, 410]
        },
        {
            name: 'Direct',
            type: 'line',
            stack: 'Total',
            data: [320, 332, 301, 334, 390, 330, 320]
        },
        {
            name: 'Search Engine',
            type: 'line',
            stack: 'Total',
            data: [820, 932, 901, 934, 1290, 1330, 1320]
        }
        ],
        textStyle: {
            fontFamily: 'Poppins, sans-serif'
        },
        color: ["#405189", "#0ab39c", "#f7b84b", "#f06548", "#299cdb"]
    };
  
  
    return (
        <React.Fragment>
            <ReactEcharts style={{ height: "350px" }} option={option} />
        </React.Fragment>
    )
  }
  
Area Chart
const AreaChart = () => {
    var option = {
        grid: {
            left: '0%',
            right: '0%',
            bottom: '0%',
            top: '4%',
            containLabel: true
        },
        xAxis: {
            type: 'category',
            boundaryGap: false,
            data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
            axisLine: {
                lineStyle: {
                    color: '#858d98'
                },
            },
        },
        yAxis: {
            type: 'value',
            axisLine: {
                lineStyle: {
                    color: '#858d98'
                },
            },
            splitLine: {
                lineStyle: {
                    color: "rgba(133, 141, 152, 0.1)"
                }
            }
        },
        series: [{
            data: [820, 932, 901, 934, 1290, 1330, 1320],
            type: 'line',
            areaStyle: {}
        }],
        textStyle: {
            fontFamily: 'Poppins, sans-serif'
        },
        color: "#0ab39c",
        backgroundColor: "#f3f6f9",
    };
  
    return (
        <React.Fragment>
            <ReactEcharts style={{ height: "350px" }} option={option} />
        </React.Fragment>
    )
  }
  
Stacked Area Chart
const StackedAreaChart = () => {
    var option = {
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'cross',
                label: {
                    backgroundColor: '#6a7985'
                }
            }
        },
        legend: {
            data: ['Email', 'Union Ads', 'Video Ads', 'Direct', 'Search Engine'],
            textStyle: { //The style of the legend text
                color: '#858d98',
            },
        },
        toolbox: {
            feature: {
                saveAsImage: {}
            }
        },
        grid: {
            left: '0%',
            right: '0%',
            bottom: '0%',
            containLabel: true
        },
        xAxis: [{
            type: 'category',
            boundaryGap: false,
            data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
            axisLine: {
                lineStyle: {
                    color: '#858d98'
                },
            },
        }],
        yAxis: {
            type: 'value',
            axisLine: {
                lineStyle: {
                    color: '#858d98'
                },
            },
            splitLine: {
                lineStyle: {
                    color: "rgba(133, 141, 152, 0.1)"
                }
            }
        },
        textStyle: {
            fontFamily: 'Poppins, sans-serif'
        },
        color: ["#405189", "#0ab39c", "#f7b84b", "#f06548", "#299cdb"],
        series: [{
            name: 'Email',
            type: 'line',
            stack: 'Total',
            areaStyle: {},
            emphasis: {
                focus: 'series'
            },
            data: [120, 132, 101, 134, 90, 230, 210]
        },
        {
            name: 'Union Ads',
            type: 'line',
            stack: 'Total',
            areaStyle: {},
            emphasis: {
                focus: 'series'
            },
            data: [220, 182, 191, 234, 290, 330, 310]
        },
        {
            name: 'Video Ads',
            type: 'line',
            stack: 'Total',
            areaStyle: {},
            emphasis: {
                focus: 'series'
            },
            data: [150, 232, 201, 154, 190, 330, 410]
        },
        {
            name: 'Direct',
            type: 'line',
            stack: 'Total',
            areaStyle: {},
            emphasis: {
                focus: 'series'
            },
            data: [320, 332, 301, 334, 390, 330, 320]
        },
        {
            name: 'Search Engine',
            type: 'line',
            stack: 'Total',
            label: {
                show: true,
                position: 'top'
            },
            areaStyle: {},
            emphasis: {
                focus: 'series'
            },
            data: [820, 932, 901, 934, 1290, 1330, 1320]
        }
        ]
    };
  
    return (
        <React.Fragment>
            <ReactEcharts style={{ height: "350px" }} option={option} />
        </React.Fragment>
    )
  }
  
Step Line
const StepLineChart = () => {
      var option = {
  
          tooltip: {
              trigger: 'axis'
          },
          legend: {
              data: ['Step Start', 'Step Middle', 'Step End'],
              textStyle: { //The style of the legend text
                  color: '#858d98',
              },
          },
          grid: {
              left: '0%',
              right: '0%',
              bottom: '0%',
              containLabel: true
          },
          toolbox: {
              feature: {
                  saveAsImage: {}
              }
          },
          xAxis: {
              type: 'category',
              data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
              axisLine: {
                  lineStyle: {
                      color: '#858d98'
                  },
              },
          },
          yAxis: {
              type: 'value',
              axisLine: {
                  lineStyle: {
                      color: '#858d98'
                  },
              },
              splitLine: {
                  lineStyle: {
                      color: "rgba(133, 141, 152, 0.1)"
                  }
              }
          },
          textStyle: {
              fontFamily: 'Poppins, sans-serif'
          },
          color: ["#405189", "#0ab39c", "#f7b84b"],
          series: [{
              name: 'Step Start',
              type: 'line',
              step: 'start',
              data: [120, 132, 101, 134, 90, 230, 210]
          },
          {
              name: 'Step Middle',
              type: 'line',
              step: 'middle',
              data: [220, 282, 201, 234, 290, 430, 410]
          },
          {
              name: 'Step End',
              type: 'line',
              step: 'end',
              data: [450, 432, 401, 454, 590, 530, 510]
          }
          ]
      };
  
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
  
Line Y Category
const LineYChart = () => {
      var option = {
          legend: {
              data: ['Altitude (km) vs. temperature (°C)'],
              textStyle: { //The style of the legend text
                  color: '#858d98',
              },
          },
          tooltip: {
              trigger: 'axis',
              formatter: 'Temperature : <br/>{b}km : {c}°C'
          },
          grid: {
              left: '1%',
              right: '0%',
              bottom: '0%',
              containLabel: true
          },
          xAxis: {
              type: 'value',
              axisLabel: {
                  formatter: '{value} °C'
              },
              axisLine: {
                  lineStyle: {
                      color: '#858d98'
                  },
              },
              splitLine: {
                  lineStyle: {
                      color: "rgba(133, 141, 152, 0.1)"
                  }
              }
          },
          yAxis: {
              type: 'category',
              axisLine: {
                  onZero: false,
                  lineStyle: {
                      color: '#858d98'
                  },
              },
              axisLabel: {
                  formatter: '{value} km'
              },
              boundaryGap: false,
              data: ['0', '10', '20', '30', '40', '50', '60', '70', '80'],
              splitLine: {
                  lineStyle: {
                      color: "rgba(133, 141, 152, 0.1)"
                  }
              }
          },
          textStyle: {
              fontFamily: 'Poppins, sans-serif'
          },
          color: "#0ab39c",
          series: [{
              name: 'Altitude (km) vs. temperature (°C)',
              type: 'line',
              symbolSize: 10,
              symbol: 'circle',
              smooth: true,
              lineStyle: {
                  width: 3,
                  shadowColor: 'rgba(0,0,0,0.3)',
                  shadowBlur: 10,
                  shadowOffsetY: 8
              },
              data: [15, -50, -56.5, -46.5, -22.1, -2.5, -27.7, -55.7, -76.5]
          }]
      };
  
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Basic Bar
const BasicBarChart = () => {
      var option = {
          grid: {
              left: '0%',
              right: '0%',
              bottom: '0%',
              top: '3%',
              containLabel: true
          },
          xAxis: {
              type: 'category',
              data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
              axisLine: {
                  lineStyle: {
                      color: '#858d98'
                  },
              },
          },
          yAxis: {
              type: 'value',
              axisLine: {
                  lineStyle: {
                      color: '#858d98'
                  },
              },
              splitLine: {
                  lineStyle: {
                      color: "rgba(133, 141, 152, 0.1)"
                  }
              }
          },
          textStyle: {
              fontFamily: 'Poppins, sans-serif'
          },
          color: ["#0ab39c"],
          series: [{
              data: [120, 200, 150, 80, 70, 110, 130],
              type: 'bar',
              showBackground: true,
              backgroundStyle: {
                  color: 'rgba(180, 180, 180, 0.2)'
              }
          }]
      };
  
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Bar Label
const BarLabelChart = () => {
      var app = {};
      var myChart;
      var posList = [
          'left',
          'right',
          'top',
          'bottom',
          'inside',
          'insideTop',
          'insideLeft',
          'insideRight',
          'insideBottom',
          'insideTopLeft',
          'insideTopRight',
          'insideBottomLeft',
          'insideBottomRight'
      ];
      app.configParameters = {
          rotate: {
              min: -90,
              max: 90
          },
          align: {
              options: {
                  left: 'left',
                  center: 'center',
                  right: 'right'
              }
          },
          verticalAlign: {
              options: {
                  top: 'top',
                  middle: 'middle',
                  bottom: 'bottom'
              }
          },
          position: {
              options: posList.reduce(function (map, pos) {
                  map[pos] = pos;
                  return map;
              }, {})
          },
          distance: {
              min: 0,
              max: 100
          }
      };
      app.config = {
          rotate: 90,
          align: 'left',
          verticalAlign: 'middle',
          position: 'insideBottom',
          distance: 15,
          onChange: function () {
              var labelOption = {
                  rotate: app.config.rotate,
                  align: app.config.align,
                  verticalAlign: app.config.verticalAlign,
                  position: app.config.position,
                  distance: app.config.distance
              };
              myChart.setOption({
                  series: [{
                      label: labelOption
                  },
                  {
                      label: labelOption
                  },
                  {
                      label: labelOption
                  },
                  {
                      label: labelOption
                  }
                  ]
              });
          }
      };
      var labelOption = {
          show: true,
          position: app.config.position,
          distance: app.config.distance,
          align: app.config.align,
          verticalAlign: app.config.verticalAlign,
          rotate: app.config.rotate,
          formatter: '{c}  {name|{a}}',
          fontSize: 16,
          rich: {
              name: {}
          }
      };
      var option = {
          grid: {
              left: '0%',
              right: '0%',
              bottom: '0%',
              containLabel: true
          },
          tooltip: {
              trigger: 'axis',
              axisPointer: {
                  type: 'shadow'
              }
          },
          legend: {
              data: ['Forest', 'Steppe', 'Desert', 'Wetland'],
              textStyle: { //The style of the legend text
                  color: '#858d98',
              },
          },
          color: ["#405189", "#0ab39c", "#f7b84b", "#f06548"],
          toolbox: {
              show: true,
              orient: 'vertical',
              left: 'right',
              top: 'center',
              feature: {
                  mark: {
                      show: true
                  },
                  dataView: {
                      show: true,
                      readOnly: false
                  },
                  magicType: {
                      show: true,
                      type: ['line', 'bar', 'stack']
                  },
                  restore: {
                      show: true
                  },
                  saveAsImage: {
                      show: true
                  }
              }
          },
          xAxis: [{
              type: 'category',
              axisTick: {
                  show: false
              },
              data: ['2012', '2013', '2014', '2015', '2016'],
              axisLine: {
                  lineStyle: {
                      color: '#858d98'
                  },
              },
          }],
          yAxis: {
              type: 'value',
              axisLine: {
                  lineStyle: {
                      color: '#858d98'
                  },
              },
              splitLine: {
                  lineStyle: {
                      color: "rgba(133, 141, 152, 0.1)"
                  }
              }
          },
          textStyle: {
              fontFamily: 'Poppins, sans-serif'
          },
          series: [{
              name: 'Forest',
              type: 'bar',
              barGap: 0,
              label: labelOption,
              emphasis: {
                  focus: 'series'
              },
              data: [320, 332, 301, 334, 390]
          },
          {
              name: 'Steppe',
              type: 'bar',
              label: labelOption,
              emphasis: {
                  focus: 'series'
              },
              data: [220, 182, 191, 234, 290]
          },
          {
              name: 'Desert',
              type: 'bar',
              label: labelOption,
              emphasis: {
                  focus: 'series'
              },
              data: [150, 232, 201, 154, 190]
          },
          {
              name: 'Wetland',
              type: 'bar',
              label: labelOption,
              emphasis: {
                  focus: 'series'
              },
              data: [98, 77, 101, 99, 40]
          }
          ]
      };
  
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Horizontal Bar
const HorizontalBarChart = () => {
      var option = {
          tooltip: {
              trigger: 'axis',
              axisPointer: {
                  type: 'shadow'
              }
          },
          legend: {
              textStyle: { //The style of the legend text
                  color: '#858d98',
              },
          },
          grid: {
              left: '0%',
              right: '4%',
              bottom: '0%',
              containLabel: true
          },
          xAxis: {
              type: 'value',
              boundaryGap: [0, 0.01],
              axisLine: {
                  lineStyle: {
                      color: '#858d98'
                  },
              },
              splitLine: {
                  lineStyle: {
                      color: "rgba(133, 141, 152, 0.1)"
                  }
              }
          },
          yAxis: {
              type: 'category',
              data: ['Brazil', 'Indonesia', 'USA', 'India', 'China', 'World'],
              axisLine: {
                  lineStyle: {
                      color: '#858d98'
                  },
              },
              splitLine: {
                  lineStyle: {
                      color: "rgba(133, 141, 152, 0.1)"
                  }
              }
          },
          textStyle: {
              fontFamily: 'Poppins, sans-serif'
          },
          color: ["#405189","#0ab39c"],
          series: [{
                  name: '2011',
                  type: 'bar',
                  data: [18203, 23489, 29034, 104970, 131744, 630230]
              },
              {
                  name: '2012',
                  type: 'bar',
                  data: [19325, 23438, 31000, 121594, 134141, 681807]
              }
          ]
      };
  
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Stacked Horizontal Bar
const StackedHorizontalBarChart = () => {
      var option = {
          tooltip: {
              trigger: 'axis',
              axisPointer: {
                  // Use axis to trigger tooltip
                  type: 'shadow' // 'shadow' as default; can also be 'line' or 'shadow'
              }
          },
          legend: {
              textStyle: { //The style of the legend text
                  color: '#858d98',
              },
          },
          grid: {
              left: '1%',
              right: '3%',
              bottom: '0%',
              containLabel: true
          },
          xAxis: {
              type: 'value',
              axisLine: {
                  lineStyle: {
                      color: '#858d98'
                  },
              },
              splitLine: {
                  lineStyle: {
                      color: "rgba(133, 141, 152, 0.1)"
                  }
              }
          },
          color: ["#405189","#0ab39c","#f7b84b","#f06548","#299cdb"],
          yAxis: {
              type: 'category',
              data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
              axisLine: {
                  lineStyle: {
                      color: '#858d98'
                  },
              },
              splitLine: {
                  lineStyle: {
                      color: "rgba(133, 141, 152, 0.1)"
                  }
              }
          },
          textStyle: {
              fontFamily: 'Poppins, sans-serif'
          },
          series: [{
                  name: 'Direct',
                  type: 'bar',
                  stack: 'total',
                  label: {
                      show: true
                  },
                  emphasis: {
                      focus: 'series'
                  },
                  data: [320, 302, 301, 334, 390, 330, 320]
              },
              {
                  name: 'Mail Ad',
                  type: 'bar',
                  stack: 'total',
                  label: {
                      show: true
                  },
                  emphasis: {
                      focus: 'series'
                  },
                  data: [120, 132, 101, 134, 90, 230, 210]
              },
              {
                  name: 'Affiliate Ad',
                  type: 'bar',
                  stack: 'total',
                  label: {
                      show: true
                  },
                  emphasis: {
                      focus: 'series'
                  },
                  data: [220, 182, 191, 234, 290, 330, 310]
              },
              {
                  name: 'Video Ad',
                  type: 'bar',
                  stack: 'total',
                  label: {
                      show: true
                  },
                  emphasis: {
                      focus: 'series'
                  },
                  data: [150, 212, 201, 154, 190, 330, 410]
              },
              {
                  name: 'Search Engine',
                  type: 'bar',
                  stack: 'total',
                  label: {
                      show: true
                  },
                  emphasis: {
                      focus: 'series'
                  },
                  data: [820, 832, 901, 934, 1290, 1330, 1320]
              }
          ]
      };
  
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Pie Charts
const PieChart = () => {
      var option = {
          tooltip: {
              trigger: 'item'
          },
          legend: {
              orient: 'vertical',
              left: 'left',
              textStyle: { //The style of the legend text
                  color: '#858d98',
              },
          },
          color: ["#405189","#0ab39c","#f7b84b","#f06548","#299cdb"],
          series: [{
              name: 'Access From',
              type: 'pie',
              radius: '50%',
              data: [{
                      value: 1048,
                      name: 'Search Engine'
                  },
                  {
                      value: 735,
                      name: 'Direct'
                  },
                  {
                      value: 580,
                      name: 'Email'
                  },
                  {
                      value: 484,
                      name: 'Union Ads'
                  },
                  {
                      value: 300,
                      name: 'Video Ads'
                  }
              ],
              emphasis: {
                  itemStyle: {
                      shadowBlur: 10,
                      shadowOffsetX: 0,
                      shadowColor: 'rgba(0, 0, 0, 0.5)'
                  }
              }
          }],
          textStyle: {
              fontFamily: 'Poppins, sans-serif'
          },
      };
  
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Doughnut Chart
const DoughnutChart = () => {
      var option = {
          tooltip: {
              trigger: 'item'
          },
          legend: {
              top: '5%',
              left: 'center',
              textStyle: { //The style of the legend text
                  color: '#858d98',
              },
          },
          color: ["#405189","#0ab39c","#f7b84b","#f06548","#299cdb"],
          series: [{
              name: 'Access From',
              type: 'pie',
              radius: ['40%', '70%'],
              avoidLabelOverlap: false,
              label: {
                  show: false,
                  position: 'center'
              },
              emphasis: {
                  label: {
                      show: true,
                      fontSize: '16',
                      fontWeight: 'bold'
                  }
              },
              labelLine: {
                  show: false
              },
              data: [{
                      value: 1048,
                      name: 'Search Engine'
                  },
                  {
                      value: 735,
                      name: 'Direct'
                  },
                  {
                      value: 580,
                      name: 'Email'
                  },
                  {
                      value: 484,
                      name: 'Union Ads'
                  },
                  {
                      value: 300,
                      name: 'Video Ads'
                  }
              ]
          }],
          textStyle: {
              fontFamily: 'Poppins, sans-serif'
          },
      };
  
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Basic Scatter Chart
const BasicScatterChart = () => {
      var option = {
          grid: {
              left: '1%',
              right: '0%',
              bottom: '0%',
              top: '2%',
              containLabel: true
          },
          xAxis: {
              axisLine: {
                  lineStyle: {
                      color: '#858d98'
                  },
              },
              splitLine: {
                  lineStyle: {
                      color: "rgba(133, 141, 152, 0.1)"
                  }
              }
          },
          yAxis: {
              axisLine: {
                  lineStyle: {
                      color: '#858d98'
                  },
              },
              splitLine: {
                  lineStyle: {
                      color: "rgba(133, 141, 152, 0.1)"
                  }
              }
          },
          textStyle: {
              fontFamily: 'Poppins, sans-serif'
          },
          series: [{
              symbolSize: 12,
              data: [
                  [10.0, 8.04],
                  [8.07, 6.95],
                  [13.0, 7.58],
                  [9.05, 8.81],
                  [11.0, 8.33],
                  [14.0, 7.66],
                  [13.4, 6.81],
                  [10.0, 6.33],
                  [14.0, 8.96],
                  [12.5, 6.82],
                  [9.15, 7.2],
                  [11.5, 7.2],
                  [3.03, 4.23],
                  [12.2, 7.83],
                  [2.02, 4.47],
                  [1.05, 3.33],
                  [4.05, 4.96],
                  [6.03, 7.24],
                  [12.0, 6.26],
                  [12.0, 8.84],
                  [7.08, 5.82],
                  [5.02, 5.68]
              ],
              type: 'scatter'
          }],
          color: ["#405189"],
      };
  
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Candlestick Chart
const CandleStickChart = () => {
      var option = {
          grid: {
              left: '1%',
              right: '0%',
              bottom: '0%',
              top: '2%',
              containLabel: true
          },
          xAxis: {
              data: ['2017-10-24', '2017-10-25', '2017-10-26', '2017-10-27'],
              axisLine: {
                  lineStyle: {
                      color: '#858d98'
                  },
              },
              splitLine: {
                  lineStyle: {
                      color: "rgba(133, 141, 152, 0.1)"
                  }
              }
          },
          yAxis: {
              axisLine: {
                  lineStyle: {
                      color: '#858d98'
                  },
              },
              splitLine: {
                  lineStyle: {
                      color: "rgba(133, 141, 152, 0.1)"
                  }
              }
          },
          textStyle: {
              fontFamily: 'Poppins, sans-serif'
          },
          series: [{
              type: 'candlestick',
              data: [
                  [20, 34, 10, 38],
                  [40, 35, 30, 50],
                  [31, 38, 33, 44],
                  [38, 15, 5, 42]
              ],
              itemStyle: {
                  normal: {
                      color: "#f06548",
                      color0: "#0ab39c",
                      borderColor: "#f06548",
                      borderColor0: "#0ab39c"
                  }
              }
          }]
      };
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Graph Chart
const GraphChart = () => {
      var option = {
          tooltip: {},
          animationDurationUpdate: 1500,
          animationEasingUpdate: 'quinticInOut',
          color: ["#405189"],
          series: [{
              type: 'graph',
              layout: 'none',
              symbolSize: 50,
              roam: true,
              label: {
                  show: true
              },
              edgeSymbol: ['circle', 'arrow'],
              edgeSymbolSize: [4, 10],
              edgeLabel: {
                  fontSize: 20
              },
              data: [{
                      name: 'Node 1',
                      x: 300,
                      y: 300
                  },
                  {
                      name: 'Node 2',
                      x: 800,
                      y: 300
                  },
                  {
                      name: 'Node 3',
                      x: 550,
                      y: 100
                  },
                  {
                      name: 'Node 4',
                      x: 550,
                      y: 500
                  }
              ],
              // links: [],
              links: [{
                      source: 0,
                      target: 1,
                      symbolSize: [5, 20],
                      label: {
                          show: true
                      },
                      lineStyle: {
                          width: 5,
                          curveness: 0.2
                      }
                  },
                  {
                      source: 'Node 2',
                      target: 'Node 1',
                      label: {
                          show: true
                      },
                      lineStyle: {
                          curveness: 0.2
                      }
                  },
                  {
                      source: 'Node 1',
                      target: 'Node 3'
                  },
                  {
                      source: 'Node 2',
                      target: 'Node 3'
                  },
                  {
                      source: 'Node 2',
                      target: 'Node 4'
                  },
                  {
                      source: 'Node 1',
                      target: 'Node 4'
                  }
              ],
              lineStyle: {
                  opacity: 0.9,
                  width: 2,
                  curveness: 0
              }
          }],
          textStyle: {
              fontFamily: 'Poppins, sans-serif'
          },
      };
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Treemap Chart
const TreemapChart = () => {
      var option = {
          color: ["#405189","#0ab39c"],
          series: [{
              type: 'treemap',
              data: [{
                      name: 'nodeA',
                      value: 10,
                      children: [{
                              name: 'nodeAa',
                              value: 4
                          },
                          {
                              name: 'nodeAb',
                              value: 6
                          }
                      ]
                  },
                  {
                      name: 'nodeB',
                      value: 20,
                      children: [{
                          name: 'nodeBa',
                          value: 20,
                          children: [{
                              name: 'nodeBa1',
                              value: 20
                          }]
                      }]
                  }
              ]
          }],
          textStyle: {
              fontFamily: 'Poppins, sans-serif'
          },
      };
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Sunburst Chart
const SunburstChart = () => {
      const data = [{
          name: 'Grandpa',
          children: [{
                  name: 'Uncle Leo',
                  value: 15,
                  children: [{
                          name: 'Cousin Jack',
                          value: 2
                      },
                      {
                          name: 'Cousin Mary',
                          value: 5,
                          children: [{
                              name: 'Jackson',
                              value: 2
                          }]
                      },
                      {
                          name: 'Cousin Ben',
                          value: 4
                      }
                  ]
              },
              {
                  name: 'Father',
                  value: 10,
                  children: [{
                          name: 'Me',
                          value: 5
                      },
                      {
                          name: 'Brother Peter',
                          value: 1
                      }
                  ]
              }
          ]
      },
      {
          name: 'Nancy',
          children: [{
              name: 'Uncle Nike',
              children: [{
                      name: 'Cousin Betty',
                      value: 1
                  },
                  {
                      name: 'Cousin Jenny',
                      value: 2
                  }
              ]
          }]
      }
  ];
  var option = {
      color: ["#f7b84b","#0ab39c"],
      series: {
          type: 'sunburst',
          // emphasis: {
          //     focus: 'ancestor'
          // },
          data: data,
          radius: [0, '90%'],
          label: {
              rotate: 'radial'
          }
      },
      textStyle: {
          fontFamily: 'Poppins, sans-serif'
      },
  };
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Parallel Chart
const ParallelChart = () => {
      var option = {
          parallelAxis: [{
                  dim: 0,
                  name: 'Price'
              },
              {
                  dim: 1,
                  name: 'Net Weight'
              },
              {
                  dim: 2,
                  name: 'Amount'
              },
              {
                  dim: 3,
                  name: 'Score',
                  type: 'category',
                  data: ['Excellent', 'Good', 'OK', 'Bad']
              }
          ],
          grid: {
              left: '0%',
              right: '0%',
              bottom: '0%',
              top: '2%',
              containLabel: true
          },
          color: ["#0ab39c"],
          series: {
              type: 'parallel',
              lineStyle: {
                  width: 4
              },
              data: [
                  [12.99, 100, 82, 'Good'],
                  [9.99, 80, 77, 'OK'],
                  [20, 120, 60, 'Excellent']
              ]
          },
          textStyle: {
              fontFamily: 'Poppins, sans-serif'
          },
      };
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Sankey Chart
const SankeyChart = () => {
      var option = {
          color: ["#299cdb","#0ab39c","#f7b84b","#f06548","#405189"],
          series: {
              type: 'sankey',
              layout: 'none',
              emphasis: {
                  focus: 'adjacency'
              },
              data: [{
                      name: 'a'
                  },
                  {
                      name: 'b'
                  },
                  {
                      name: 'a1'
                  },
                  {
                      name: 'a2'
                  },
                  {
                      name: 'b1'
                  },
                  {
                      name: 'c'
                  }
              ],
              links: [{
                      source: 'a',
                      target: 'a1',
                      value: 5
                  },
                  {
                      source: 'a',
                      target: 'a2',
                      value: 3
                  },
                  {
                      source: 'b',
                      target: 'b1',
                      value: 8
                  },
                  {
                      source: 'a',
                      target: 'b1',
                      value: 3
                  },
                  {
                      source: 'b1',
                      target: 'a1',
                      value: 1
                  },
                  {
                      source: 'b1',
                      target: 'c',
                      value: 2
                  }
              ]
          },
          textStyle: {
              fontFamily: 'Poppins, sans-serif'
          },
      };
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Funnel Chart
const FunnelChart = () => {
      var option = {
          tooltip: {
              trigger: 'item',
              formatter: '{a} <br/>{b} : {c}%'
          },
          toolbox: {
              feature: {
                  dataView: {
                      readOnly: false
                  },
                  restore: {},
                  saveAsImage: {}
              }
          },
          legend: {
              data: ['Show', 'Click', 'Visit', 'Inquiry', 'Order'],
              textStyle: { //The style of the legend text
                  color: '#858d98',
              },
          },
          color: ["#405189","#f06548","#299cdb","#0ab39c","#f7b84b"],
          series: [{
              name: 'Funnel',
              type: 'funnel',
              left: '10%',
              top: 60,
              bottom: 60,
              width: '80%',
              min: 0,
              max: 100,
              minSize: '0%',
              maxSize: '100%',
              sort: 'descending',
              gap: 2,
              label: {
                  show: true,
                  position: 'inside'
              },
              labelLine: {
                  length: 10,
                  lineStyle: {
                      width: 1,
                      type: 'solid'
                  }
              },
              itemStyle: {
                  borderColor: '#fff',
                  borderWidth: 1
              },
              emphasis: {
                  label: {
                      fontSize: 20
                  }
              },
              data: [{
                      value: 60,
                      name: 'Visit'
                  },
                  {
                      value: 40,
                      name: 'Inquiry'
                  },
                  {
                      value: 20,
                      name: 'Order'
                  },
                  {
                      value: 80,
                      name: 'Click'
                  },
                  {
                      value: 100,
                      name: 'Show'
                  }
              ]
          }],
          textStyle: {
              fontFamily: 'Poppins, sans-serif'
          },
      };
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Gauge Chart
const GaugeChart = () => {
      var option = {
          tooltip: {
              formatter: '{a} <br/>{b} : {c}%'
          },
          color: ["#405189"],
          textStyle: {
              fontFamily: 'Poppins, sans-serif',
          },
          series: [{
              name: 'Pressure',
              type: 'gauge',
              progress: {
                  show: true
              },
              detail: {
                  valueAnimation: true,
                  formatter: '{value}',
                  color: '#858d98',
              },
              axisLabel: {
                  color: '#858d98',
              },
              data: [{
                  title: {
                      color: '#858d98',
                  },
                  value: 50,
                  name: 'SCORE',
              }]
          }]
      };
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
Heatmap Chart
const HeatmapChart = () => {
      function getVirtulData(year) {
          year = year || '2017';
          var date = +echarts.number.parseDate(year + '-01-01');
          var end = +echarts.number.parseDate(+year + 1 + '-01-01');
          var dayTime = 3600 * 24 * 1000;
          var data = [];
          for (var time = date; time < end; time += dayTime) {
            data.push([
              echarts.format.formatTime('yyyy-MM-dd', time),
              Math.floor(Math.random() * 10000)
            ]);
          }
          return data;
        }
        var option = {
          title: {
            top: 30,
            left: 'center',
            text: 'Daily Step Count'
          },
          tooltip: {},
          visualMap: {
            min: 0,
            max: 10000,
            type: 'piecewise',
            orient: 'horizontal',
            left: 'center',
            top: 65
          },
          calendar: {
            top: 120,
            left: 30,
            right: 30,
            cellSize: ['auto', 13],
            range: '2016',
            itemStyle: {
              borderWidth: 0.5
            },
            yearLabel: { show: false }
          },
          series: {
            type: 'heatmap',
            coordinateSystem: 'calendar',
            data: getVirtulData('2016')
          }
        };
      return (
          <React.Fragment>
              <ReactEcharts style={{ height: "350px" }} option={option} />
          </React.Fragment>
      )
  }
  
© Velzon.
Design & Develop by Themesbrand