在过去的一个小时里,我一直在尝试让Chart.js在同一页上呈现两个折线图。我已经确保我的画布元素ID是唯一的,我的变量也是唯一的。
这是在使用chart.js v2.8.0
下面是inspect元素的错误日志。
在index.html中定义的输入数据
var lineChartData = {
labels: ['-18:00', '-15:00', '-12:00', '-9:00', '-6:00', '-3:00', '0:00'],
datasets: [{
label: 'Temperature (F)',
borderColor: window.chartColors.red,
backgroundColor: window.chartColors.red,
fill: false,
data: [
60 - randomScalingFactor(),
55 - randomScalingFactor(),
57 - randomScalingFactor(),
58 - randomScalingFactor(),
59 - randomScalingFactor(),
65 - randomScalingFactor(),
73 - randomScalingFactor()
],
yAxisID: 'y-axis-1',
}]
};
var avgLineChartData = {
labels: ['1', '1', '1', '1', '1', '1', '1'],
datasets: [{
label: 'Avg Temperature (F)',
borderColor: window.chartColors.green,
backgroundColor: window.chartColors.green,
fill: false,
data: [
65 - randomScalingFactor(),
53 - randomScalingFactor(),
58 - randomScalingFactor(),
54 - randomScalingFactor(),
62 - randomScalingFactor(),
65 - randomScalingFactor(),
74 - randomScalingFactor()
],
yAxisID: 'y-axis-1',
}]
};
图表绘制
index.html
window.onload = function () {
var ctx = document.getElementById('canvas').getContext('2d');
new Chart(ctx, {
type: 'line',
data: lineChartData,
options: {
responsive: true,
hoverMode: 'index',
stacked: false,
title: {
display: true,
text: 'Temp(F)/Humidity(%) per 15 Hours'
},
scales: {
yAxes: [{
type: 'linear', // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance
display: true,
position: 'left',
id: 'y-axis-1',
ticks: {
beginAtZero: true,
max: 100,
},
}, {
type: 'linear', // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance
display: true,
position: 'right',
id: 'y-axis-2',
ticks: {
beginAtZero: true,
max: 100,
},
// grid line settings
gridLines: {
drawOnChartArea: false, // only want the grid lines for one axis to show up
},
}],
},
elements: {
line: {
tension: 0.3
}
}
}
});
var ctx2 = document.getElementById('canvas2').getContext('2d');
new Chart(ctx2, {
type: 'line',
data: avgLineChartData,
options: {
responsive: true,
hoverMode: 'index',
stacked: false,
title: {
display: true,
text: 'Avg Temp(F)/Humidity(%) per 7 Days'
},
scales: {
yAxes: [{
type: 'linear', // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance
display: true,
position: 'left',
id: 'avg-y-axis-1',
ticks: {
beginAtZero: true,
max: 100,
},
}, {
type: 'linear', // only linear but allow scale type registration. This allows extensions to exist solely for log scale for instance
display: true,
position: 'right',
id: 'avg-y-axis-2',
ticks: {
beginAtZero: true,
max: 100,
},
// grid line settings
gridLines: {
drawOnChartArea: false, // only want the grid lines for one axis to show up
},
}],
},
elements: {
line: {
tension: 0.3
}
}
}
});
};
在
index.html
中定义的Canvas元素
<div class="container">
<canvas id="canvas"></canvas>
<canvas id="canvas2"></canvas>
</div>
在您的数据中,
var avgLineChartData = {
labels: ['1', '1', '1', '1', '1', '1', '1'],
datasets: [{
label: 'Avg Temperature (F)',
borderColor: window.chartColors.green,
backgroundColor: window.chartColors.green,
fill: false,
data: [
65 - randomScalingFactor(),
53 - randomScalingFactor(),
58 - randomScalingFactor(),
54 - randomScalingFactor(),
62 - randomScalingFactor(),
65 - randomScalingFactor(),
74 - randomScalingFactor()
],
yAxisID: 'y-axis-1',
}]
};
您可以设置yAxisId:'y轴-1'
。但是当你绘制图表时,它们是id:'avg-y-axis-1'
。
我正在尝试使用Chart.js在一个页面上创建多个图表。我正在动态创建几个画布来承载这些图表。 每个图表的相关信息都包含在JSON对象中,JSON对象包含在“allDatas”中。 请注意,allDatas中的数据格式正确,并且每个数据都经过测试,我们可以正确创建图表,而不会出现任何问题。画布也是一样,它们都是正确的,我们可以在其中任何一个中显示图表。当我尝试创建多个图表时,会出现问题。 以下是我
问题内容: 我正在使用基于Chart.js的AngularJS模块来显示图形。它的工作原理像一个超级按钮,但是当我在AngularJS选项卡集中显示图表时,如果它不是第一个选项卡,则该图形不会呈现。 这是JSFiddle。有人设法解决这个问题吗? 谢谢 问题答案: 正如@Martin指出的,这是Chart.js的问题,当在隐藏的DOM元素中初始化时,图表未显示(即使显示隐藏的元素,其高度和宽度也保
我正在构建一个文本语音应用程序。我正在使用splitpane来显示它。左窗格显示动态变化的语音到文本信息。右窗格显示一个“是/否”固定文本为每个句子说在左窗格在同一级别。 为了确保“Yes/No”显示在与左窗格中的句子完全相同的级别上,每当说出新句子时,我将在左窗格和右窗格中添加文本到相应的HBox(Splitpane_left_hbox(语音到文本句子)和Splitpane_right_hbox
问题内容: 我的网页上有一个Google地图,上面有一个我自己建立的搜索窗格,可以随意显示和隐藏。它的覆盖范围可以说是说一面地图的200像素。问题是,当我调整地图大小时,或窗格重叠的区域未渲染,即由于某种原因地图未渲染。 在Box中,输入OMDB(这是机场的ICAO代码),然后按Enter。 结果显示出来,您会看到窗格。现在单击全屏链接,然后单击“机场”选项卡以使面板消失- 您现在看到地图的一部分
问题内容: 我有一个动态网页,该网页应处理两种形式:登录表单和注册表单。我正在使用WTForms处理这两种形式,但是由于将两种形式都呈现到同一页面上,因此使它无法正常工作。 以下是我的网页登录表单的代码: PYTHON: HTML: 以下是我的网页注册表格的代码: PYTHON: HTML: 继续加载网页时出现以下错误: 据我了解,表单之间存在冲突,因为根据追溯: 返回以下错误: 当脚本看到: 但
问题内容: 我想将注册和登录表格都放在同一页面上。 它们都以: 所以,我需要这样的东西: 还有如何在第二个表格繁忙时防止执行第一个表格,反之亦然(用户单击两者) 我的想法是在启动流程时(例如,在流程结束时)创建一个简单变量,因此: 可能有更好的方法。 问题答案: 您可以通过两种不同的动作制作两种形式 还是这样做 然后,您的PHP文件将用作一个switch($ _ POST [‘action’])…