HighchartsJS 是一款功能强大、开源、美观、图表丰富、兼容绝大多数浏览器的纯js图表库,目前最新版本库是Highcharts 4.1.9。另外,HighchartsJS还提供很多的插件和第三方扩展,但那些不是本文所要描述的主要内容,在此不表。笔者只说说自己曾经使用过的案例以及对案例的注释。
笔者已经用HighchartsJS创建过两种关于统计类的图表实例,一种是点状的带标识的,如图:
另外一种是环形带标识的,如图:
下面是HighchartsJS创建环形图表实例代码:
引用(基于jq,jq和highcharts.js请自行去官网下载):
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="highcharts.js"></script>
HTML code:
<div id="chart" class="chart"></div>
CSS code:
<style>
*{margin:;padding:;}
.chart{height:600px;}
</style>
JS code:
<script>
$(function(){ //饼状图
var categories = ['财富定期', '消费理财', '财富快乐宝', '财富活期'],
data = [{
drilldown: {
name: '',
categories: ['财富定期', '消费理财', '财富快乐宝', '财富活期'],
data: [25, 25, 25, 25], //数据,即this.y
}
}]; // 创建数组
var fuhuiData = [];
var percentData = [];
for (var i = 0; i < data.length; i++) {
// 添加名称
fuhuiData.push({
name: categories[i],
y: data[i].y,
}); // 添加百分比
for (var j = 0; j < data[i].drilldown.data.length; j++) {
var brightness = 0.2 - (j / data[i].drilldown.data.length) / 5 ;
percentData.push({
name: data[i].drilldown.categories[j],
y: data[i].drilldown.data[j],
});
}
} // 创建图表
$('#chart').highcharts({
chart: {
type: 'pie' //图表的类型
},
title: { //设置标题并将标题置于环形图表中间
text: '<span style="font-size:50px;font-family:Arial;color:#606060;" >100.00</span><span style="color:#606060;"> 元</span>'+'<br><span style="font-size:18px;color:#606060;">总资产</span>',
verticalAlign: 'middle',
},
yAxis: {
title: {
text: ''
}
},
plotOptions: {
pie: {
size: '50%',
innerSize: '86%', //配置环形大小
shadow: false,
center: ['50%', '50%'], //水平和垂直方向居中
colors: [ //设置饼状图的颜色
'#f25252', //第一个颜色
'#9e6df0', //第二个颜色
'#f9823a', //第三个颜色
'#77aaee', //第三个颜色
],
dataLabels: {
//connectorColor: '#f00', //设置连接线的颜色
style: { //设置标识文字的样式
color: '#424242',
fontSize: '18px',
fontWeight: 'normal', //字体不加粗
},
}
}
},
tooltip: {
valueSuffix: '%'
},
series: [{
name: '百分比', //数据列名
data: percentData,
dataLabels: {
formatter: function() {
// display only if larger than 1
//return this.y > 1 ? '<b>'+ this.point.name +':</b> '+ this.y +'%' : null; //这串代码设置了加粗
return this.y > 1 ? ''+ this.point.name +': '+ this.y +'%' : null;
}
}
}],
credits: {
enabled:false, // 默认值,如果想去掉版权信息Highcharts.com,设置为false即可
}
}); //设置饼状图中间文字的上下间隔
$(".highcharts-title").find("tspan").last().attr("dy",43); }) </script>
HighchartsJS创建环形带标识的图表实例的更多相关文章
-
HighchartsJS创建点状带标识的图表实例
上一篇我发布的是关于 HighchartsJS创建环形带标识的图表实例, 从那篇文章就可以看出 HighchartsJS 确实是一款功能很强大的图表库.利用它,我们可以在项目中创建出我们所需要的图表来 ...
-
php创建新用户注册界面布局实例
php创建新用户注册界面布局实例 <!DOCTYPE> <html> <head> <title>Load page</title> < ...
-
[转] 请别再拿“String s = new String(";xyz";);创建了多少个String实例”来面试了吧
这帖是用来回复高级语言虚拟机圈子里的一个问题,一道Java笔试题的. 本来因为见得太多已经吐槽无力,但这次实在忍不住了就又爆发了一把.写得太长干脆单独开了一帖. 顺带广告:对JVM感兴趣的同学们同志们 ...
-
Vue01 Vue介绍、Vue使用、Vue实例的创建、数据绑定、Vue实例的生命周期、差值与表达式、指令与事件、语法糖
1 Vue介绍 1.1 官方介绍 vue是一个简单小巧的渐进式的技术栈,它提供了Web开发中常用的高级功能:视图和数据的解耦.组件的服用.路由.状态管理.虚拟DOM 说明:简单小巧 -> 压缩后 ...
-
使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(三)(错误整理篇)
使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二) 以上两篇已经把流 ...
-
使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(二)(代码篇)
这篇是上一篇的延续: 用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一) 源代码在github上可以下载,地址:https://github.com/guoxia ...
-
使用ssm(spring+springMVC+mybatis)创建一个简单的查询实例(一)
梳理下使用spring+springMVC+mybatis 整合后的一个简单实例:输入用户的 ID,之后显示用户的信息(此次由于篇幅问题,会分几次进行说明,此次是工程的创建,逆向生成文件以及这个简单查 ...
-
请别再拿“String s = new String(";xyz";);创建了多少个String实例”来面试了吧---转
http://www.iteye.com/topic/774673 羞愧呀,不知道多少人干过,我也干过,面壁去! 这帖是用来回复高级语言虚拟机圈子里的一个问题,一道Java笔试题的. 本来因为见得太多 ...
-
在 QML 中创建 C++ 导入类型的实例
在 QML 中创建 C++ 导入类型的实例 文件列表: Project1.pro QT += quick CONFIG += c++ CONFIG += declarative_debug CONFI ...
随机推荐
-
mysql开启登录日志和sql日志 排查错误
首先看是否开启了日志 show global variables like '%general%'; set global general_log = on; // 打开 set global gen ...
-
ASP.NET 上传文件最大值调整
首先,最容易找到的是web.config下面配置: <!--maxRequestLength=50MB--> <httpRuntime targetFramework="4 ...
-
SQL Server 2012 启动
1. 启动 SQL Server Management studio 2. 选择登录模式 Server name: "." 代表本地的数据库 Authertication: ...
-
ubuntu /etc/network/interfaces 中配置虚拟链路
ubuntu /etc/network/interfaces 中配置虚拟链路 平常做一些关于网络的测试时,像一些需要在二层上运行的功能,一个网卡不足够的情况下,可使用 ip link 工具加一些虚拟的 ...
-
[javascript|基本概念|一元操作符]学习笔记
只操作一个值的操作符 递增/递减操作符 前置型/后置型 前置型:操作符位于操作数前面 e.g.: var a = 30; ++a; 等同于 var a = 30; a = a + 1; --> ...
-
Memcached(二)Memcached Java API基础之MemcachedClient
1. 构造函数 public MemcachedClient(InetSocketAddress[] ia) throws IOException; public MemcachedClient(Li ...
-
浅谈Jquery中的bind(),live(),delegate(),on()绑定事件方式 [转载]
前言 因为项目中经常会有利用jquery操作dom元素的增删操作,所以会涉及到dom元素的绑定事件方式,简单的归纳一下bind,live,delegate,on的区别,以便以后查阅,也希望该文章日后能 ...
-
NetCore版RPC框架NewLife.ApiServer
微服务和消息队列的基础都是RPC框架,比较有名的有WCF.gRPC.Dubbo等,我们的NewLife.ApiServer建立在网络库NewLife.Net之上,支持.Net Core,追求轻量级和高 ...
-
android 版本更新适配8.0,解决8.0手机无法更新自动安装apk
随着android 7.0的普及android 8.0的也逐渐流行起来,那么google对权限方面又有了新的修改.而且我发现在android8.0中除了一些bug,比如说:在小米6(Android 8 ...
-
7.6 GRASP原则六: 多态 Polymorphism
GRASP原则六: 多态 Polymorphism How to handle alternative behaviors based on type 如何处理依据类型不同而有 不同行为的一类需求 ...