简说chart2.4的应用,以及Uncaught ReferenceError : require is not defined的解决
51呢最近在学习chart.js,然后呢就照着中文的帮助文档来然后就一直出Uncaught ReferenceError : require is not defined的问题查了挺多才知道是帮助文档跟chat.js不匹配的问题。
chart.js是分1.x和2.x版本的最新的版本是2.7.0,大家github下包的时候别下master分支包,下tags里的。然后引入的时候别引入src下的chart.js ,会报Uncaught ReferenceError : require is not defined 的错误。。,dist目录才是发布目录。。搞了半天,浪费时间。而且1.x和2.x的用法和options不一样,这里我主要调的2.x的版本。后面应用的主要是2.x版本的chart。
中文帮主文档呢,是1.11版本的下面是链接
http://www.bootcss.com/p/chart.js/docs/
对应的1.11的chart
https://github.com/chartjs/Chart.js/tags?after=v2.0.1

然后是2.x的帮助文档
http://www.chartjs.org/docs/latest/general/interactions/events.html
然后是chart的链接
https://github.com/chartjs/Chart.js/tags

2.x的链接打开后就是上面的样子箭头指的就是最新版本的chart,注意一定要是红框圈起来的,然后后面翻页能找到1.11版本的chart
又碰到两个问题,一个是图表适用retina屏的设置如下
var myChart = echarts.init(document.getElementById('radar'),{
devicePixelRatio: 5 //devicePixelRatio是指设备的像素比,简单来说就是设备物理像素和独立像素的比例,应该是比例越高图像越清晰
});
不过这个设置用在PDF里还是不能高清显示,换了一种方式将图表转换成高分辨率的图片放到PDF里,问题解决了
var img = new Image();
img.src = myChart.getDataURL({
pixelRatio: 5,//图片像素比
backgroundColor: '#fff'
});
$("#radar").html("").prepend(img);
$("#radar img").css({"width":"414px","height":"300px"});
具体用法如下
先是chart1.11的
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>chart.js 1.x</title>
<style> </style> </head>
<script src="js/chart.1.11.js"></script>
<body> <!-- 展示canvas -->
<div style="width:500px;height:500px;">
<canvas id="myChart"></canvas>
</div>
<script type="text/javascript">
var radarChartData = {
labels: ["PHP", "Java", "HTML", "JS", "JQuery","AngelaJS","voe"],
datasets: [
{
label: "",
fillColor: "rgba(0,55,0,0)",
strokeColor: "rgba(66,0,0,0)",
pointColor: "rgba(255,0,0,0)",
pointStrokeColor: "rgba(0,0,0,0)",
pointHighlightFill: "rgba(0,0,0,0)",
pointHighlightStroke: "rgba(0,0,0,0)",
data: [15,75,35,45,55,65,75]
}
]
};
var options = { //Boolean - If we show the scale above the chart data
scaleOverlay : true, //Boolean - If we want to override with a hard coded scale
scaleOverride : true, //** Required if scaleOverride is true **
//Number - The number of steps in a hard coded scale
scaleSteps : 5, //Number - The value jump in the hard coded scale
scaleStepWidth : 20, // Y 轴的起始值
scaleStartValue : null, // Y/X轴的颜色
scaleLineColor : "rgba(0,0,0,.1)", // X,Y轴的宽度
scaleLineWidth : 1, // 刻度是否显示标签, 即Y轴上是否显示文字
scaleShowLabels : true, // Y轴上的刻度,即文字
scaleLabel : "<%=value%>", // 字体
scaleFontFamily : "'Arial'", // 文字大小
scaleFontSize : 12, // 文字样式
scaleFontStyle : "normal", // 文字颜色
scaleFontColor : "#666", // 是否显示网格
scaleShowGridLines : false, // 网格颜色
scaleGridLineColor : "rgba(0,0,0,.05)", // 网格宽度
scaleGridLineWidth : 2, // 是否使用贝塞尔曲线? 即:线条是否弯曲
bezierCurve : false, // 是否显示点数
pointDot : true, // 圆点的大小
pointDotRadius : 8, // 圆点的笔触宽度, 即:圆点外层白色大小
pointDotStrokeWidth : 2, // 数据集行程
datasetStroke : true, // 线条的宽度, 即:数据集
datasetStrokeWidth : 2, // 是否填充数据集
datasetFill : false, // 是否执行动画
animation : true, // 动画的时间
animationSteps : 60, // 动画的特效
animationEasing : "easeOutQuart"
}
var myLine = new Chart(document.getElementById("myChart").getContext("2d")).Radar(radarChartData, options);
</script>
</body>
</html>

然后是chart2.x的:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>chart.js 2.x</title>
</head>
<body>
<!-- 展示canvas -->
<div style="width:500px;height:500px;" id="radar">
<canvas id="myChart"></canvas>
</div>
<!--引入 chartjs-->
<script src="js/chart.js" type="text/javascript" charset="utf-8"></script>
<script src="js/Chart.bundle.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
// 设置数据和参数
var radarChartData = {
labels: ["PHP", "Java", "HTML", "JS", "JQuery","AngelaJS","voe"],
datasets: [
{
pointBorderColor:"#CF64A7",//描点颜色
pointBackgroundColor:"#ff",//描点背景颜色
borderColor:"#C06700",//画线颜色
data: [95,25,35,45,55,65,75]
}
] };
//设置选项
var options = {
legend:false,//数据项
scale: {
ticks: {
beginAtZero: true,
stepSize:20,//Y轴间隔
max:100,//Y轴最大值
min:0,
callback:function(value) { return value + '%'; }//Y轴格式化
},
angleLines:{
display:true//雷达辐射轴
},
pointLabels:{
fontSize:13//x轴文字
}, },
animation:{
onComplete:function(){
document.getElementById("radar").innerHTML = "<img src='" + myBarChart.toBase64Image() + "' />";
}
}
}
var ctx = document.getElementById("myChart").getContext("2d");
var myBarChart = new Chart(ctx, {type: 'radar',data: radarChartData,options:options});
</script>
</body>
</html>

上面的是雷达的图表,下面的是线型的

然后是圆形的

然后是柱状图

有前面的雷达作为例子后面的就好说了,把下面的类型改一改就可以

只要把圈起来的改为line或者polarArea或者scatter就能够出对应的图表。其实chart.js还是挺简单的。
主要还是要注意到chart.js是否与帮助文档匹配的问题。
简说chart2.4的应用,以及Uncaught ReferenceError : require is not defined的解决的更多相关文章
- Uncaught ReferenceError: XXX is not defined
Uncaught ReferenceError: XXX is not defined 这个问题困扰我很久,虽然找到了解决方法,但是还不是很明白. 如下所示:是报错的代码. 如果把它改成下面的形式就可 ...
- Uncaught ReferenceError: WebForm_DoPostBackWithOptions is not defined
环境:Asp.Net网站,Framework版本4.0,IIS版本7.0问题:按钮失效,下面是按钮代码: <a id="dnn_ctr1161_Login_Login_DNN_cmdL ...
- clipboard复制剪贴板功能,以及用requirejs时报错---Uncaught ReferenceError: Clipboard is not defined
zeroclipboard是走的flash插件,手机浏览器是不支持的,所以不得不舍弃之,用clipboard,clipboard不需要flash就可以完成复制剪切等功能,而且可以兼容pc,移动端,下面 ...
- JS问题Uncaught ReferenceError:XXXX is not defined
背景: html中一个table,table中进行分页.每行后面有一系列操作,如删除,修改.现在以删除为例说明问题. 实现方式: 使用button,在onclick中调用js函数,js函数中传递参数如 ...
- stickUp.js:98 Uncaught ReferenceError: vartop is not defined at HTMLDocument.<anonymous> (stickUp.js:98)
附加var vartop = 0;在var topMargin = 0;这之后,这里是我附加的代码:$(document).ready(function(){ var contentButton = ...
- ext.net在使用水晶报表时页面无数据显示,并报错误Uncaught ReferenceError: bobj is not defined.
一.错误描述 在公司做项目的时候,有时会需要用到水晶报表显示数据,水晶报表在ASP.NET中使用时没有问题,winform项目开发也没有问题,但是在ext.net开发使用时却报错了,错误:Uncaug ...
- Android JS桥交互("Uncaught ReferenceError: xxx is not defined or xxx has no method")
网上android和js交互的代码有不少,也很容易搜到.最近在做的项目需要用到js桥,遇到了一些问题,记录下来,希望以后遇到能马上解决掉. 一开始我找的demo是从这个:http://blog.csd ...
- Uncaught ReferenceError: jQuery is not defined
页面调试时,明明引入了JQ文件,却一直提示Uncaught ReferenceError: jQuery is not defined错误. 转自:http://blog.csdn.net/baicp ...
- Uncaught ReferenceError: layer is not defined
错误详细信息,如下: Uncaught ReferenceError: layer is not defined' 关键词就是not defined 未定义,那么解决方案就是给它定义. 原来的问题代码 ...
随机推荐
- 201521123077 《Java程序设计》第8周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 泛型类 利用泛型可以写出一个更加通用的类,比如下面的例子: class simpleHolder<T&g ...
- 201521123106《java程序设计》第四周学习总结
1. 本周学习总结 2. 书面作业 1.注释的应用使用类的注释与方法的注释为前面编写的类与方法进行注释,并在Eclipse中查看.(截图) 面向对象设计(大作业1-非常重要)2.1 讲故事:将在网上商 ...
- UVW源码漫谈(二)
前一篇发布出来之后,我看着阅读量还是挺多的,就是评论和给意见的一个都没有,或许各位看官就跟我一样,看帖子从不回复,只管看就行了.毕竟大家都有公务在身,没太多时间,可以理解.不过没关系,我是不是可以直接 ...
- Linux环境下启动MySQL数据库出现找不到mysqld.sock的解决办法!
问题: 在普通用户权限下运行:mysql -u root -p,回车之后如果会出现如下错误:ERROR 2002 (HY000): Can't connect to local MySQL serve ...
- 在 Ubuntu 上安装 MongoDB
在 Ubuntu 上安装 MongoDB 运行下列命令,导入 MongoDB 公开 GPG 键: sudo apt-key adv --keyserver hkp://keyserver.ubuntu ...
- hadoop2.0的数据副本存放策略
在hadoop2.0中,datanode数据副本存放磁盘选择策略有两种方式: 第一种是沿用hadoop1.0的磁盘目录轮询方式,实现类:RoundRobinVolumeChoosingPolicy.j ...
- [android游戏开发初学]简单的游戏框架
这两天,没事想学习游戏开发,看了一些资料之后准备开始.为了将来编码方便,先写了一个简单的游戏框架方便自己以后做练习用. 如果以后没有什么特殊的需求--比如opengl什么的,会尽量用这个简单框架来实现 ...
- .NET 动态脚本语言
Script.NET (S#) 是一种允许为你的应用程序自定义行为,与本地.NET对象.类型和组件交互动态的脚本语言.托管应用程序本身可以改变一个xml配置脚本运行时的默认行为,更换绑定的方法,属性, ...
- vue源码学习-vnode的挂载和更新流程
概述 本文主要介绍在视图的渲染过程中,Vue 是如何把 vnode 解析并挂载到页面中的.我们通过一个最简单的例子来分析主要流程: <div id="app"> {{s ...
- QT的安装及环境配置
QT的安装及环境配置 一.windows的下QT的安装及环境配置 (一)从框架安装程序中安装 步骤: 准备:下载QT库,下载指定版本的MINGW,QT IDE 1.下载QT安装文件如:qt-win-o ...