Chart.js 折线图未显示
Chart.js line chart is not displaying
我用 chart.js 构建了一个折线图。但是图表没有显示。这是我的 HTML
<canvas id="myChart" width"600" height:"600"></canvas>
这是我的javascript。这种方法没有错误,但没有任何显示。
var c = $('#myChart');
var ct = c.get(0).getContext('2d');
var ctx = document.getElementById("myChart").getContext("2d").Line(data);
var data = {
labels: ["January", "February", "March", "April", "May", "June", "July","August", "November", "December"],
datasets: [
{
label: "Sodium intake",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(220,220,220,1)",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: [165, 159, 180, 181, 156, 155, 140]
},
{
label: "Sugar intake",
fillColor: "rgba(151,187,205,0.2)",
strokeColor: "rgba(151,187,205,1)",
pointColor: "rgba(151,187,205,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(151,187,205,1)",
data: [128, 148, 140, 119, 186, 127, 190]
}
]
};
我使用的另一种方法类似于文档。我实例化了一个新图表。但是,这种方法 returns 未为我的折线图定义。
var ctx = document.getElementById("myChart").getContext("2d");
var myLineChart = new Chart(ctx).line(data,{
belzierCurve : false
});
好的,试试这个:
首先更正您的 html:
<canvas id="myChart" width="600" height="600"></canvas>
然后为您的 javascript 尝试这个:
var data = {
"labels": ["January", "February", "March", "April", "May", "June", "July", "August", "November", "December"],
"datasets": [{
label: "Sodium intake",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(220,220,220,1)",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: [165, 159, 180, 181, 156, 155, 140]
}, {
label: "Sugar intake",
fillColor: "rgba(151,187,205,0.2)",
strokeColor: "rgba(151,187,205,1)",
pointColor: "rgba(151,187,205,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(151,187,205,1)",
data: [128, 148, 140, 119, 186, 127, 190]
}]
}
var chartDisplay = new Chart(document.getElementById("myChart").getContext("2d")).Line(data);
那应该没问题。见一jsfiddle of it。
你的 html:
<canvas id="myChart" width"600" height:"600"></canvas>
应该是:
<canvas id="myChart" width="600" height="600"></canvas>
然后,替换您的代码
var c = $('#myChart');
var ct = c.get(0).getContext('2d');
var ctx = document.getElementById("myChart").getContext("2d").Line(data);
使用此代码
var ctx = new Chart(document.getElementById("myChart").getContext("2d")).Line(data);
所以在你的 js 中
var data = {
//your data here
}
enter code here
然后在你的数据后添加这一行
var ctx = new Chart(document.getElementById("myChart").getContext("2d")).Line(data);
因此您的代码将如下所示:
var data = {
labels: ["January", "February", "March", "April", "May", "June", "July","August", "November", "December"],
datasets: [
{
label: "Sodium intake",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(220,220,220,1)",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: [165, 159, 180, 181, 156, 155, 140]
},
{
label: "Sugar intake",
fillColor: "rgba(151,187,205,0.2)",
strokeColor: "rgba(151,187,205,1)",
pointColor: "rgba(151,187,205,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(151,187,205,1)",
data: [128, 148, 140, 119, 186, 127, 190]
}
]
}
var ctx = new Chart(document.getElementById("myChart").getContext("2d")).Line(data);
原因可能是您使用的是最新的 chart.min.js 但使用的是旧代码。要获得正确的参考,请遵循 chartjs.org 文档。
代码配置结构在最新版本中发生了变化。 (我猜从2.3开始)
所以,而不是
var countries= document.getElementById("countries").getContext("2d");
var chart = new Chart(countries).Pie(pieData,pieOptions);
我们的结构如下:
var countries= document.getElementById("countries").getContext("2d");
var chart = new Chart(countries,{
type: 'pie',
data:
{
labels: ['India', 'Germany', 'Netherland'],
datasets:
[{
backgroundColor: '#337ab7',
data: ['100', '99' ,'98'],
borderWidth:1,
}]
},
options:
{
responsive: true,
maintainAspectRatio:false,
legend: {
display: false,
position: 'top'
}
}
});
或
var countries= document.getElementById("countries").getContext("2d");
var pieData =
{
labels: ['India', 'Germany', 'Netherland'],
datasets: [{
backgroundColor: '#337ab7',
data: ['100', '99' ,'98'],
borderWidth:1,
}]
};
var pieOptions =
{
responsive: true,
maintainAspectRatio:false,
legend: {
display: false,
position: 'top'
}
};
var chart = new Chart(countries,{
type: 'pie',
data: pieData,
options: pieOptions
});
我用 chart.js 构建了一个折线图。但是图表没有显示。这是我的 HTML
<canvas id="myChart" width"600" height:"600"></canvas>
这是我的javascript。这种方法没有错误,但没有任何显示。
var c = $('#myChart');
var ct = c.get(0).getContext('2d');
var ctx = document.getElementById("myChart").getContext("2d").Line(data);
var data = {
labels: ["January", "February", "March", "April", "May", "June", "July","August", "November", "December"],
datasets: [
{
label: "Sodium intake",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(220,220,220,1)",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: [165, 159, 180, 181, 156, 155, 140]
},
{
label: "Sugar intake",
fillColor: "rgba(151,187,205,0.2)",
strokeColor: "rgba(151,187,205,1)",
pointColor: "rgba(151,187,205,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(151,187,205,1)",
data: [128, 148, 140, 119, 186, 127, 190]
}
]
};
我使用的另一种方法类似于文档。我实例化了一个新图表。但是,这种方法 returns 未为我的折线图定义。
var ctx = document.getElementById("myChart").getContext("2d");
var myLineChart = new Chart(ctx).line(data,{
belzierCurve : false
});
好的,试试这个:
首先更正您的 html:
<canvas id="myChart" width="600" height="600"></canvas>
然后为您的 javascript 尝试这个:
var data = {
"labels": ["January", "February", "March", "April", "May", "June", "July", "August", "November", "December"],
"datasets": [{
label: "Sodium intake",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(220,220,220,1)",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: [165, 159, 180, 181, 156, 155, 140]
}, {
label: "Sugar intake",
fillColor: "rgba(151,187,205,0.2)",
strokeColor: "rgba(151,187,205,1)",
pointColor: "rgba(151,187,205,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(151,187,205,1)",
data: [128, 148, 140, 119, 186, 127, 190]
}]
}
var chartDisplay = new Chart(document.getElementById("myChart").getContext("2d")).Line(data);
那应该没问题。见一jsfiddle of it。
你的 html:
<canvas id="myChart" width"600" height:"600"></canvas>
应该是:
<canvas id="myChart" width="600" height="600"></canvas>
然后,替换您的代码
var c = $('#myChart');
var ct = c.get(0).getContext('2d');
var ctx = document.getElementById("myChart").getContext("2d").Line(data);
使用此代码
var ctx = new Chart(document.getElementById("myChart").getContext("2d")).Line(data);
所以在你的 js 中
var data = {
//your data here
}
enter code here
然后在你的数据后添加这一行
var ctx = new Chart(document.getElementById("myChart").getContext("2d")).Line(data);
因此您的代码将如下所示:
var data = {
labels: ["January", "February", "March", "April", "May", "June", "July","August", "November", "December"],
datasets: [
{
label: "Sodium intake",
fillColor: "rgba(220,220,220,0.2)",
strokeColor: "rgba(220,220,220,1)",
pointColor: "rgba(220,220,220,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(220,220,220,1)",
data: [165, 159, 180, 181, 156, 155, 140]
},
{
label: "Sugar intake",
fillColor: "rgba(151,187,205,0.2)",
strokeColor: "rgba(151,187,205,1)",
pointColor: "rgba(151,187,205,1)",
pointStrokeColor: "#fff",
pointHighlightFill: "#fff",
pointHighlightStroke: "rgba(151,187,205,1)",
data: [128, 148, 140, 119, 186, 127, 190]
}
]
}
var ctx = new Chart(document.getElementById("myChart").getContext("2d")).Line(data);
原因可能是您使用的是最新的 chart.min.js 但使用的是旧代码。要获得正确的参考,请遵循 chartjs.org 文档。
代码配置结构在最新版本中发生了变化。 (我猜从2.3开始)
所以,而不是
var countries= document.getElementById("countries").getContext("2d");
var chart = new Chart(countries).Pie(pieData,pieOptions);
我们的结构如下:
var countries= document.getElementById("countries").getContext("2d");
var chart = new Chart(countries,{
type: 'pie',
data:
{
labels: ['India', 'Germany', 'Netherland'],
datasets:
[{
backgroundColor: '#337ab7',
data: ['100', '99' ,'98'],
borderWidth:1,
}]
},
options:
{
responsive: true,
maintainAspectRatio:false,
legend: {
display: false,
position: 'top'
}
}
});
或
var countries= document.getElementById("countries").getContext("2d");
var pieData =
{
labels: ['India', 'Germany', 'Netherland'],
datasets: [{
backgroundColor: '#337ab7',
data: ['100', '99' ,'98'],
borderWidth:1,
}]
};
var pieOptions =
{
responsive: true,
maintainAspectRatio:false,
legend: {
display: false,
position: 'top'
}
};
var chart = new Chart(countries,{
type: 'pie',
data: pieData,
options: pieOptions
});