Canvas js 图表在 Bootstrap 3 布局中没有正确响应

Canvas js Charts not responding correctly in Bootstrap 3 Layout

我是 UI 开发人员,我正在使用 Bootstrap 3 和 Canvas Js 图表,如饼图、柱状图。 我决定在每一行中放置两个图表,因为 desktop.And 它工作正常。但是当我调整浏览器大小时 window 它不会在移动设备中堆叠两个图表。相反,饼图消失了,只有第二个图表才可见。为什么会这样。

在桌面设备中

当我检查移动设备时。饼图消失了

代码在这里

 <div class="container-fluid">
        <div class="row">
            <div class="col-md-6">
                <div id="pieChart">
                 <script type="text/javascript">
                                        var pieChartValues=[     
                                          {  y: 39.16,exploded: true, indexLabel: "Hello",color:"#1f77b4" },
                                          {  y: 21.8,  indexLabel: "Hi",color:"#ff7f0e" },
                                          {  y: 21.45, indexLabel: "pk",color:" #ffbb78" },
                                          {  y: 5.56, indexLabel: "one",color:"#d62728"},
                                           { y:5.38,  indexLabel: "two",color:"#98df8a"},
                                          {  y: 3.73 , indexLabel: "three",color:"#bcbd22" },
                                          {  y: 2.92, indexLabel: "four",color:"#f7b6d2"}
                                        ];
                                        renderPieChart(pieChartValues);

                                            function renderPieChart (values) {

                                      var chart = new CanvasJS.Chart("pieChart",
                                      {
                                        backgroundColor: "white",
                                        colorSet:"colorSet2",

                                        title:{
                                          text: "Pie Chart",
                                          fontFamily:"Verdana",
                                          fontSize:25,
                                          fontWeight: "normal",
                                        },
                                                    animationEnabled: true,
                                        data: [
                                        {        
                                          indexLabelFontSize: 15,
                                          indexLabelFontFamily: "Monospace",       
                                          indexLabelFontColor: "darkgrey", 
                                          indexLabelLineColor: "darkgrey",        
                                          indexLabelPlacement: "outside",
                                          type: "pie",       
                                          showInLegend: false,
                                          toolTipContent: "<strong>#percent%</strong>",
                                          dataPoints:values
                                        }
                                        ]
                                      });
                                      chart.render();
                                    }
                    </script>
                </div>
            </div>

            <div class="col-md-6">
                <div id="columnChart">
        <script type="text/javascript">

                     var columnChartValues=[      
                      {y: 686.04, label: "one",color:"#1f77b4"},
                      {y: 381.84,  label: "two",color:"#ff7f0e"},
                      {y: 375.76,  label: "three",color:" #ffbb78"},
                      {y: 97.48,  label: "four",color:"#d62728"},
                      {y: 94.2,  label: "five",color:"#98df8a"},
                      {y: 65.28,  label: "Hi",color:"#bcbd22"},
                      {y: 51.2,  label: "Hello",color:"#f7b6d2"}
                    ];
                  renderColumnChart(columnChartValues);
                  function renderColumnChart(values) {

                                    var chart = new CanvasJS.Chart("columnChart",
                                    {
                                      backgroundColor: "white",
                                      colorSet:"colorSet3",
                                      title:{
                                        text: "Column Chart",
                                        fontFamily: "Verdana",
                                        fontSize:25,
                                        fontWeight: "normal",
                                      },
                                      animationEnabled: true,
                                      legend: {
                                        verticalAlign: "bottom",
                                        horizontalAlign: "center"
                                      },
                                      theme: "theme2",
                                      data: [

                                      {
                                        indexLabelFontSize: 15,
                                        indexLabelFontFamily: "Monospace",       
                                        indexLabelFontColor: "darkgrey", 
                                        indexLabelLineColor: "darkgrey",        
                                        indexLabelPlacement: "outside",        
                                        type: "column",  
                                        showInLegend: false, 
                                        legendMarkerColor: "grey",
                                        dataPoints: values
                                      }   
                                      ]
                                    });

                                    chart.render();
                                  }
                       </script>                 
        </div>
            </div>

        </div>


    </div>

Bootstrap 提供 grid-classes 以保持响应式设计。要明确设置平板电脑或移动设备的宽度,您需要添加平板电脑和移动设备的网格 classes 以及桌面 class.

在台式机、平板电脑和移动设备等多种设备中参考Bootstrap-Grid for more info. And here is a link to refer to examples of Bootstrap-Grid

这是您的问题的工作代码。

var pieChartValues = [{
  y: 39.16,
  exploded: true,
  indexLabel: "Hello",
  color: "#1f77b4"
}, {
  y: 21.8,
  indexLabel: "Hi",
  color: "#ff7f0e"
}, {
  y: 21.45,
  indexLabel: "pk",
  color: " #ffbb78"
}, {
  y: 5.56,
  indexLabel: "one",
  color: "#d62728"
}, {
  y: 5.38,
  indexLabel: "two",
  color: "#98df8a"
}, {
  y: 3.73,
  indexLabel: "three",
  color: "#bcbd22"
}, {
  y: 2.92,
  indexLabel: "four",
  color: "#f7b6d2"
}];
renderPieChart(pieChartValues);

function renderPieChart(values) {

  var chart = new CanvasJS.Chart("pieChart", {
    backgroundColor: "white",
    colorSet: "colorSet2",

    title: {
      text: "Pie Chart",
      fontFamily: "Verdana",
      fontSize: 25,
      fontWeight: "normal",
    },
    animationEnabled: true,
    data: [{
      indexLabelFontSize: 15,
      indexLabelFontFamily: "Monospace",
      indexLabelFontColor: "darkgrey",
      indexLabelLineColor: "darkgrey",
      indexLabelPlacement: "outside",
      type: "pie",
      showInLegend: false,
      toolTipContent: "<strong>#percent%</strong>",
      dataPoints: values
    }]
  });
  chart.render();
}
var columnChartValues = [{
  y: 686.04,
  label: "one",
  color: "#1f77b4"
}, {
  y: 381.84,
  label: "two",
  color: "#ff7f0e"
}, {
  y: 375.76,
  label: "three",
  color: " #ffbb78"
}, {
  y: 97.48,
  label: "four",
  color: "#d62728"
}, {
  y: 94.2,
  label: "five",
  color: "#98df8a"
}, {
  y: 65.28,
  label: "Hi",
  color: "#bcbd22"
}, {
  y: 51.2,
  label: "Hello",
  color: "#f7b6d2"
}];
renderColumnChart(columnChartValues);

function renderColumnChart(values) {

  var chart = new CanvasJS.Chart("columnChart", {
    backgroundColor: "white",
    colorSet: "colorSet3",
    title: {
      text: "Column Chart",
      fontFamily: "Verdana",
      fontSize: 25,
      fontWeight: "normal",
    },
    animationEnabled: true,
    legend: {
      verticalAlign: "bottom",
      horizontalAlign: "center"
    },
    theme: "theme2",
    data: [

      {
        indexLabelFontSize: 15,
        indexLabelFontFamily: "Monospace",
        indexLabelFontColor: "darkgrey",
        indexLabelLineColor: "darkgrey",
        indexLabelPlacement: "outside",
        type: "column",
        showInLegend: false,
        legendMarkerColor: "grey",
        dataPoints: values
      }
    ]
  });

  chart.render();
}
<script src="http://canvasjs.com/assets/script/canvasjs.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">

<div class="container-fluid">
    <div class="row">
        <div class="col-md-6">
            <div id="pieChart" style="height: 360px; width: 100%;">
            </div>
        </div>
        <div class="col-md-6">
            <div id="columnChart" style="height: 360px; width: 100%;">
            </div>
        </div>
    </div>
</div>