代码之家  ›  专栏  ›  技术社区  ›  trubex

如何在饼图中创建图例位置。js?

  •  5
  • trubex  · 技术社区  · 6 年前

    我正在使用chart js开发饼图。我想像这样创建图例位置。任何人请帮我解决这个问题。。。

    enter image description here

    这是我的代码。。。我真的希望结果和图片一样。当我使用css缩放时,我遇到了一个错误:70%在html中,使javascript无法工作。。

    <!DOCTYPE html>
    <html>
    <head>
    	<title></title>
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    	<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script>
    </head>
    <style type="text/css">
      body{ background-color: #1f1d1d; font-family: Roboto, Myriad Pro, Segoe UI;zoom:70%;}
      .col-sm-1.content { border: 2px solid #1f1d1d}
    </style>
    <body>
    	  <div class="col-sm-1 content" style="background-color: #4f4f4f; height:377px;"><br><br><br>
            <canvas id="myChartBBC" style="width:375px; height: 375px;"></canvas>
          <br>
            <p style="text-align:center; color: #fff;font-size: 14px;"><i>Browse by Channel</i></p>
          </div>
    </body>
    <script>
      var ctx = document.getElementById('myChartBBC').getContext('2d');
      var chart = new Chart(ctx, {
          // The type of chart we want to create
          type: 'pie',
          // The data for our dataset
          data: {
              labels: ["USSD", "URP", "MyTsel App", "Chatbot"],
              datasets: [{
                  backgroundColor: ['rgb(12, 146, 204)',
                           'rgb(255, 67, 0)',
                           'rgb(131, 0, 255)',
                           'rgb(250, 255, 0)'
                           ],
                  borderColor: ['rgb(12, 146, 204)',
                          'rgb(255, 67, 0)',
                          'rgb(131, 0, 255)',
                          'rgb(250, 255, 0)'
                          ],
                  data: [73, 17, 3, 7],
              }]
          },
    
          // Configuration options go here
          options: {
            legend:{
              position: 'bottom',
              labels:{
                fontColor: "white"
              }
            }
          }
      });
      </script>
    </html>
    1 回复  |  直到 6 年前
        1
  •  10
  •   Chinmoy Samanta    6 年前

    尝试此更新的代码。

    <!doctype html>
    <html>
    
    <head>
        <title>Pie Chart</title>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
        <style type="text/css">
        body {
            background-color: #1f1d1d;
            font-family: Roboto, Myriad Pro, Segoe UI;
            width: 800px;
            height: 800px;
        }
        </style>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script>
    </head>
    
    <body>
        <div id="canvas-holder" style="width:30%;background-color: #4f4f4f; height:35%;">
            <canvas id="chart-area"></canvas>
            <p style="text-align:center; color: #fff;font-size: 14px;"><i>Browse by Channel</i></p>
        </div>
        <script>
        var config = {
            type: 'pie',
            data: {
                labels: ["USSD", "URP", "MyTsel App", "Chatbot"],
                datasets: [{
                    backgroundColor: ['rgb(12, 146, 204)',
                        'rgb(255, 67, 0)',
                        'rgb(131, 0, 255)',
                        'rgb(250, 255, 0)'
                    ],
                    borderColor: ['rgb(12, 146, 204)',
                        'rgb(255, 67, 0)',
                        'rgb(131, 0, 255)',
                        'rgb(250, 255, 0)'
                    ],
                    data: [73, 17, 3, 7],
                }]
            },
            options: {
                responsive: true,
                legend: {
                    position: 'bottom',
                    labels: {
                        fontColor: "white",
                        boxWidth: 20,
                        padding: 20
                    }
                }
            }
        };
    
        window.onload = function() {
            var ctx = document.getElementById('chart-area').getContext('2d');
            window.myPie = new Chart(ctx, config);
        };
        </script>
    </body>
    
    </html>