var options = {
  series: [
    {
      name: 'Coal',
      data: [44, 55, 41, 37, 22, 43, 21],
    },
    {
      name: 'Natural Gas',
      data: [53, 32, 33, 52, 13, 43, 32],
    },
    {
      name: 'Solar',
      data: [12, 17, 11, 9, 15, 11, 20],
    },
    {
      name: 'Wind',
      data: [9, 7, 5, 8, 6, 9, 4],
    },
  ],
  chart: {
    type: 'bar',
    height: 350,
    stacked: true,
  },
  plotOptions: {
    bar: {
      horizontal: true,
      barHeight: '60%',
    },
  },
  dataLabels: {
    enabled: false,
  },
  stroke: {
    width: 2,
  },
  title: {
    text: 'Electricity Generation by Source',
  },
  xaxis: {
    categories: [2019, 2020, 2021, 2022, 2023, 2024, 2025],
  },
  yaxis: {
    title: {
      text: undefined,
    },
  },
  tooltip: {
    shared: false,
    y: {
      formatter: function (val) {
        return val + ' TWh'
      },
    },
  },
  fill: {
    type: 'pattern',
    opacity: 1,
    pattern: {
      style: ['circles', 'slantedLines', 'verticalLines', 'horizontalLines'], // string or array of strings
    },
  },
  states: {
    hover: {
      filter: 'none',
    },
  },
  legend: {
    position: 'right',
    offsetY: 40,
  },
}

var chart = new ApexCharts(document.querySelector('#chart'), options)
chart.render()
Patterned Bar - JavaScript Bar Charts | ApexCharts.js | ApexCharts.js