使用ChartJS制作响应图

有一个ChartJS画布区域,我已经在图表区域中创建了插件文本。我想制作一个图表以响应使用手机和PC。在Web浏览器上部署网页时,如果对网页进行缩放,则无法相应地更改图表(ChartJS)。该图表看起来好像卡在一个很小的空间中。我该如何克服这个问题?

抽样我的图表:

var plugin = {
  id: 'plugin',beforeDraw: function(chart) {

    var width = chart.chart.width,height = chart.chart.height,ctx = chart.chart.ctx,xScale = chart.scales['x-axis-0'],yScale = chart.scales['y-axis-0'];

    ctx.restore();
    ctx.font = "1em sans-serif";
    ctx.textAlign = "center";
    ctx.textBaseline = "middle";
    // ctx.fillText("s(A)",width * .28,height * .70);
    ctx.fillText(
      "s(A)",xScale.getPixelForValue('2005'),yScale.getPixelForValue(3)
    );
    ctx.fillText(
      "s(B)",xScale.getPixelForValue('2015'),yScale.getPixelForValue(9)
    );
    ctx.save();
  }
};

var xCoord = new Array(1997,2003,2005,2009,2014,2018,2019);
var yCoord = new Array(1,3,5,6,10,9);
var c = [];
for (var i = 0; i < xCoord.length; i++) {
  var obj = {
    x: xCoord[i],y: yCoord[i]
  };
  c.push(obj);
}
var ctx = document.getElementById('myTau').getcontext('2d');
var myTau = new Chart(ctx,{
  type: 'line',data: {
    datasets: [{
      label: 'None',data: c,borderWidth: 1,borderColor: "#ef1414",fill: false,cubicInterpolationmode: 'monotone'
    }]
  },plugins: [plugin],options: {
    title: {
      display: true,text: 'My Chart Must Change Responsively When zoomming Web Browser'
    },tooltips: {
      mode: 'nearest',intersect: true
    },scales: {
      xAxes: [{
        type: 'linear',position: 'bottom',scaleLabel: {
          display: true,labelString: 'Year Assembly',fontSize: 14
        }
      }],yAxes: [{
        scaleLabel: {
          display: true,labelString: 'Aquifer Values Corresponding',fontSize: 15
        }
      }]
    }
  }
});
        
    <canvas id="myTau" height="120"></canvas>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.8.0/Chart.bundle.min.js"></script>
    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>

adsaad 回答:使用ChartJS制作响应图

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2785835.html

大家都在问