javascript - 没有为简单图表定义画布
问题描述
我正在尝试在我的网站上放置一个简单的图表。我有这个代码:
<script src="http://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.min.js"></script>
<script>
var ctx = canvas.getContext("2d");
var parent = document.getElementById('parent');
canvas.width = parent.offsetWidth;
canvas.height = parent.offsetHeight;
var chart = new Chart(ctx, {
type: 'line',
options: {
legend: {
display: false
},
responsive: true,
maintainAspectRatio: false
},
data: {
labels: [3,4],
datasets: [{
label: 'Test 01',
data: [1,2],
}
]
}
});
</script>
<div id="parent">
<canvas id="myChart"></canvas>
</div>
但是它返回给我错误:
Uncaught ReferenceError: canvas is not defined
at mytest3.html:47
我尝试在脚本上方和下方移动画布,但没有任何区别。我在这里做错了什么?
解决方案
您需要在使用前设置 canvas 变量。添加以下内容:
<script>
//Add the following line
var canvas = document.getElementById("myChart");
var ctx = canvas.getContext("2d");
推荐阅读
- azure-sql-database - AzureSQL PaaS不同数据库表的DML操作
- python - 过滤元组列表以从包含的另一个元组列表中排除
- python - 覆盖 Enum._generate_next_value_ 在 MRO 中没有按预期工作?
- c++ - 如何不针对 C++ 应用程序的 Visual Studio 2010 中的任何 .NET Framework
- amazon-web-services - 我无法使用 terraform 在 lambda 函数的基于资源的策略中添加条件
- ios - 订阅环境视图模型的子对象内的值更改(发生这种情况时不会重新渲染视图)
- visual-studio - 我想通过一些简单的代码示例验证 Rust 编译器是否可以正确调用 Visual Studio C++ Build 工具
- vba - Access - 导航表单将记录源更改为目标名称并取消绑定控件
- rx-java2 - RxJava2 BehaviorSubject 上的多个侦听器结果不一致
- wordpress - 使用 htaccess 将 PDF 重定向到 php 文件—已删除但仍保留 W3 总缓存