Highchart не отображает правильный размер при начальной загрузке, изменяет размер только при изменении размера окна в react js

#javascript #reactjs #highcharts #window-resize #react-highcharts

#javascript #reactjs #highcharts #окно-изменение размера #react-highcharts

Вопрос:

в настоящее время я разрабатываю диаграмму в своем React. Я использую Highchart. Моя проблема в том, что при первой загрузке моей диаграммы размер не соответствует размеру контейнера, когда я изменяю размер окна, тогда только диаграмма отображает правильный размер.

многие решения, предлагаемые для использования

  chart.reflow();
  

но как использовать это в коде react?

я пытался

 .highcharts-container, .highcharts-container svg {
  width: 100% !important;
}
  

не работает

диаграмма всегда при начальной загрузке будет выглядеть следующим образомвведите описание изображения здесь

Мне нужна диаграмма полностью до желтой линии

Мой код диаграммы

  this.setState({
  chartDrawSector: {
    chart: {
      type: 'column',
      height: '600',
      events: {
        load: function(event) {
          event.target.reflow();// i tried this not working also..
        }
      }
    },
    title: {
      text: 'Sector All'
    },
    // subtitle: {
    //   text: 'Source: WorldClimate.com'
    // },
    xAxis: {
      categories: sectorName[0],
      crosshair: true
    },
    yAxis: {
      min: 0,
      title: {
        text: displayMode == 'f' ? 'Figures' : 'Percentage %'
      }
    },
    tooltip: {
      headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
      pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>'  
        '<td style="padding:0"><b>{point.y:.1f} </b></td></tr>',
      footerFormat: '</table>',
      shared: true,
      useHTML: true
    },
    plotOptions: {
      column: {
        pointPadding: 0.2,
        borderWidth: 0
      }
    },
    series: [{
      name: 'Ultimate Negative',
      data: n30Data[0],
      color: 'rgb(100, 30, 22 )'

    }, 
    {
      name: 'Ultimate Positive',
      data: gt30Data[0],
      color: 'rgb(27, 79, 114)'

    },

    ]
  }
})
  

Комментарии:

1. вы указали высоту диаграммы как 600. попробуйте удалить его из конфигурации диаграммы.

2. Привет, я пробовал.. но диаграмма становится все меньше..

3. Не могли бы вы воспроизвести свой случай в каком-нибудь онлайн-редакторе с образцами данных? Вы можете начать с этого шаблона: stackblitz.com/edit/react-nwseym?file=index.js