Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 无法创建图表_Angular_Chart.js - Fatal编程技术网

Angular 无法创建图表

Angular 无法创建图表,angular,chart.js,Angular,Chart.js,我想在我的angular应用程序中使用甜甜圈图表。 我使用“npm install chart.js--save”安装了chart js。 但我的问题是,即使我像这样从Chart.js导入类import{Chart},它也不知道Chart。 当我运行服务器时,总是出现以下错误: Chart.js:8459 Failed to create chart: can't acquire context from the given item 这是我在ts中的代码 ngOnInit() { this.

我想在我的angular应用程序中使用甜甜圈图表。 我使用“npm install chart.js--save”安装了chart js。 但我的问题是,即使我像这样从Chart.js导入类import{Chart},它也不知道Chart。 当我运行服务器时,总是出现以下错误:

Chart.js:8459 Failed to create chart: can't acquire context from the given item
这是我在ts中的代码

ngOnInit() {
this.PieChart = new Chart('pieChart', {
  type: 'doughnut',
  data: {
    labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
    datasets: [{
      label: '# of Votes',
      data: [9,7 , 3, 5, 2, 10],
      backgroundColor: [
        'rgba(255, 99, 132, 0.2)',
        'rgba(54, 162, 235, 0.2)',
        'rgba(255, 206, 86, 0.2)',
        'rgba(75, 192, 192, 0.2)',
        'rgba(153, 102, 255, 0.2)',
        'rgba(255, 159, 64, 0.2)'
      ],
      borderColor: [
        'rgba(255,99,132,1)',
        'rgba(54, 162, 235, 1)',
        'rgba(255, 206, 86, 1)',
        'rgba(75, 192, 192, 1)',
        'rgba(153, 102, 255, 1)',
        'rgba(255, 159, 64, 1)'
      ],
      borderWidth: 1
    }]
  },
  options: {
    title:{
      text:"Bar Chart",
      display:true
    },
    scales: {
      yAxes: [{
        ticks: {
          beginAtZero:true
        }
      }]
    }
  }
});
}

这是我的html代码

<div style="text-align:center">
        <canvas id="pieChart"></canvas>
      </div>

i获取ID时遇到问题

<canvas id="myChart"></canvas>

 var ctx = document.getElementById("myChart");
 var myChart = new Chart(ctx,{
    type: 'pie',
    data: data,
    options: options
})

var ctx=document.getElementById(“myChart”);
var myChart=新图表(ctx{
键入“pie”,
数据:数据,
选项:选项
})

i获取ID时遇到问题

<canvas id="myChart"></canvas>

 var ctx = document.getElementById("myChart");
 var myChart = new Chart(ctx,{
    type: 'pie',
    data: data,
    options: options
})

var ctx=document.getElementById(“myChart”);
var myChart=新图表(ctx{
键入“pie”,
数据:数据,
选项:选项
})

您需要确保在呈现视图之前已创建图表。要做到这一点,请看这个


您需要确保在呈现视图之前已创建图表。要做到这一点,请看这个


我用你的代码创建了一个小提琴,一切似乎都是正确的->你可以尝试将
pieChart
替换为
document.getElementById('pieChart').getContext('2d')在你的
new Chart
函数中。我用你的代码创建了一个小提琴,一切似乎都是正确的->你可以尝试将
pieChart
替换为
document.getElementById('pieChart')。getContext('2d')在您的
新图表
函数中。