我在chartJS中制作了一个图表,我想根据用户从下拉列表中选择的内容使用新数据更新它,使用相同的画布。问题是当我执行更新功能时,图表会用新数据更新,但过一会儿又会回到原始图表。我该如何解决这个问题?下面是代码,感谢大家的帮助:
/* Original Chart */
var ctx3 = document.getElementById("canvas3").getContext("2d");
var canvas3 = new Chart(ctx3, {
type: 'line',
data: {
labels: stationRentalsLabels,
datasets: [{
label: 'Wypożyczenia',
fillColor: "rgba(220,280,220,0.5)",
strokeColor: "rgba(220,220,220,1)",
backgroundColor: "rgba(153,255,51,0.4)",
data: stationRentalsData
}]
}
});
/* event listener on drop-down list, when triggered, update chart */
select.addEventListener('change', function() {
updateChart()
});
/* Update Chart */
function updateChart() {
var stationRentalsHoursTemp = [];
var stationRentalName = [];
var determineHour = selectNumber.options[selectNumber.selectedIndex].innerHTML;
for (var i = 0; i < stationRentalsHours.length; i++) {
if (determineHour == stationRentalsHours[i]) {
stationRentalsHoursTemp.push(stationRentalsData[i])
stationRentalName.push(stationRentalsLabels[i]);
}
}
/* Updated Chart */
var ctx3 = document.getElementById("canvas3").getContext("2d");
var canvas3 = new Chart(ctx3, {
type: 'line',
data: {
labels: stationRentalName,
datasets: [{
label: 'Wypożyczenia',
fillColor: "rgba(220,280,220,0.5)",
strokeColor: "rgba(220,220,220,1)",
backgroundColor: "rgba(153,255,51,0.4)",
data: stationRentalsHoursTemp
}]
}
});
}
您正在与之前相同的 div 中创建新的更新函数图表,但为了做到这一点,您需要在调用 updateChart 函数之前通过调用销毁函数来销毁图表的上一个实例。
canvas3.destroy()
解决问题的另一种方法是,当通过调用 update 函数(不初始化新图表)调用 updateChart 函数时,替换数据而不是图表本身。
function updateChart() {
var stationRentalsHoursTemp = [];
var stationRentalName = [];
var determineHour = selectNumber.options[selectNumber.selectedIndex].innerHTML;
for (var i = 0; i < stationRentalsHours.length; i++) {
if (determineHour == stationRentalsHours[i]) {
stationRentalsHoursTemp.push(stationRentalsData[i])
stationRentalName.push(stationRentalsLabels[i]);
}
}
// just update the label and dataset not the entire chart
canvas3.data.labels = stationRentalName;
canvas3.data.datasets[0].data = stationRentalsHoursTemp;
canvas3.update();
}
我正在使用chart.js在html页面中创建多个图表,并且在Windows加载之后,图表将以每秒的速度动态更新,并使用新的数据值。我正在使用chart.js update()函数处理更新。所有创建的图表都存储在全局数组中,然后获取这些图表进行更新。 当我第一次打开html页面时,每秒都会更新图形(显示实时测量数据),但当我移动到webapp中的另一个子页面,然后返回到图形应该所在的页面时,所有画
问题内容: 我想将“:/ home / me / play /”值添加到PATH ,以安装Play!框架。 所以我运行了这个命令: 有效。但是在我下次检查时,该值又变回了原来的值。 所以我想我没有“保存”新值,对吗? 你是怎样做的? 问题答案: 加 给你并执行 为了立即反映对您当前终端实例的更改。
问题内容: 如果我从命令行()执行然后执行,我会看到此字符串已添加到PATH。如果我关闭并打开命令行,则该新字符串不在PATH中。 将来如何从命令行永久更新PATH,而不仅限于当前进程? 我不想通过转到“系统属性”→“高级”→“环境变量”并在那里更新PATH来执行此操作。 问题答案: 有关如何执行此操作的文档可以在MSDN上找到。关键摘录是这样的: 要以编程方式添加或修改系统环境变量,请将它们添加
问题内容: 这将使用 临时的 302 HTTP状态代码重定向请求: 但是是否可以使用 永久的 301 HTTP状态代码重定向它? 问题答案: 您需要手动设置响应状态和标题。 将状态设置为之前将无效,否则将其设置为之后。
问题内容: 如何使django开发服务器永久运行?这样我退出shell时就不会停止。 问题答案: 一个简单的方法是运行: 现在按,然后按退出此屏幕。 这将在屏幕中创建服务器,然后将其分离。这样,你可以简单地返回并输入: 你可以再次控制服务器并查看发生了什么。
Jekyll 支持以灵活的方式管理你网站的链接,你可以通过 Configuration 或 YAML 头信息 为每篇文章设置永久链接。你可以随心所欲地选择内建链接格式,或者自定义链接格式。默认配置为 date。 永久链接的模板用以冒号为前缀的关键词标记动态内容,比如 date 代表 /:categories/:year/:month/:day/:title.html。 模板变量 变量 描述 yea