subba16
Posts: 1
Joined: Tue Jul 27, 2021 4:28 pm

Responsive does not kick in until resize window..

When I use responsive option for small size screens, It is not taking effect until manula resize of the window.

Would like to run the effect of the responsive option on current window size. How do I run responsive on initial load?


Configuration::

Code: Select all

more(Highcharts);

    this.gauge = Highcharts.chart('gaugeContainer', {

      chart: {
        type: 'gauge',
        plotBackgroundColor: null,
        plotBackgroundImage: null,
        plotBorderWidth: 0,
        plotShadow: false,
      },

       title: {
        text: 'Total Points : ' + this.points,
        style: { fontWeight: '500', fontFamily: 'Roboto, "Helvetica Neue", sans-serif' }
      },
      pane: {
        startAngle: -150,
        endAngle: 150,
        background: [{
          backgroundColor: {
            linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
            stops: [
              [0, '#FFF'],
              [1, '#333']
            ]
          },
          borderWidth: 0,
          outerRadius: '109%'
        }, {
          backgroundColor: {
            linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
            stops: [
              [0, '#333'],
              [1, '#FFF']
            ]
          },
          borderWidth: 1,
          outerRadius: '107%'
        }, {
          // default background
        }, {
          backgroundColor: '#DDD',
          borderWidth: 0,
          outerRadius: '105%',
          innerRadius: '103%'
        }]
      },
      // the value axis
      yAxis: {
        min: 0,
        max: 30,
        minorTickInterval: 'auto',
       minorTickWidth: 1,
        minorTickLength: 10,
       minorTickPosition: 'inside',
       minorTickColor: '#666',
        tickPixelInterval: 30,
        tickWidth: 2,
        tickPosition: 'inside',
        tickLength: 10,
        tickColor: '#666',

        labels: {
          step: 2,
          // rotation: 'auto'
        },
        title: {
          text: ' '
        },

        plotBands: [{
          from: 0,
          to: 7,
          className: 'ugly' // green
        }, {
          from: 7,
          to: 15,
          className: 'bad' // yellow
        }, {
          from: 15,
          to: 30,
          className: 'good' // red
        }]
      },
      series: [{
        type: undefined,
        name: 'Points',
        data: [10],
        tooltip: {
          valueSuffix: ' '
        }
      }],
      [b]responsive: {
        rules: [{
          condition: {
            maxWidth: 400
          },
          chartOptions: {
            chart: {
              width: '300'
            }
          }
        }]
      }[/b]
    },
      // Add some life
      function (chart) {
      });

  }
  
dominik.c
Posts: 2081
Joined: Fri Aug 07, 2020 7:07 am

Re: Responsive does not kick in until resize window..

Hello subba16!

Welcome to our forum and thanks for contacting us with your question!

You can check chartWidth when the load event occurs and change chart width then.

API references: https://api.highcharts.com/highcharts/chart.events.load

Demo: https://jsfiddle.net/BlackLabel/cg5xtv0z/

Best regards!
Dominik Chudy
Highcharts Developer

Return to “Highcharts Usage”