extjs自身有图表的功能,但是与highcharts和echarts相比,ext不如它们功能强大、样式美观。

公司项目的前端框架使用的是ext,所以就有了ext整合第三方图表插件的需求。

笔者会一点ext,会一点highcharts,但是把两个整合起来对我有难度,好在公司大佬Groot写了一个整合的样板可以参考,我对源代码进行了一部分修改放到博客上,方便我以后的回顾以及供大家参考。

效果图:

公司的项目中有多个地方会用到饼图,因此大佬把生成饼图抽成了一个js脚本rendererHelper.js,大大方便了公司其他开发人员的调用,这一点很值得学习。

以下是生成这个饼图的方法的源代码:

// Ext.Loader.setConfig({enabled: true}); 可开启Ext.Loader
// 此方法中用到了第三方插件,要加载它,就必须开启Ext.Loader
Ext.Loader.setConfig({ enabled: true });
// 定义命名空间
Ext.Loader.setPath('Chart.ux', 'highcharts插件所在的文件夹');
// 引用类
Ext.require([
'Chart.ux.Highcharts',
'Chart.ux.Highcharts.Serie',
'Chart.ux.Highcharts.PieSerie'
]); function createPie(store, colors) {
var pieChart = Ext.create('Chart.ux.Highcharts', {
height: 320,
series: [
{
type: 'pie',
dataField: 'num',
categorieField: 'typeName',
name: '数量'
}
],
store: store,
chartConfig: {
chart: { type: 'pie' },
plotOptions: {
pie: {
allowPointSelect: true,
cursor: "pointer",
colors: colors,
donut: false,
tooltip: {
},
showInLegend: true,
dataLabels: {
formatter: function () {
return Highcharts.numberFormat(this.percentage, 2) + '%';
}
}
}
},
credits: false,
title: {
text: null,
align: 'left'
}
}
});
return pieChart;
}

使用这个脚本的方法:

1、在对应页面的jsp页面引入rendererHelper.js

<script src="rendererHelper.js""></script>

2、在对应页面的js文件中调用脚本中的createPie方法:

// store是数据存储,colors是饼图颜色
var typePie = createPie(store, colors);

ext整合highcharts实现饼图的更多相关文章

  1. Highcharts 3D柱形图;Highcharts 堆叠3D柱形图;Highcharts 3D饼图;Highcharts 3D圆环图

    Highcharts 3D柱形图 配置 chart.options3d 配置 以下列出了 3D 图的基本配置,设置 chart 的 type 属性为 column,options3d 选项可设置三维效 ...

  2. Highcharts Pie 饼图提示标签IE下重叠解决方法,及json数据绑定方法

    一.提示标签重叠解决方法: series: [{ startAngle:90,//添加这个属性,就可以解决 type: 'pie', name: '充值方式' }] 不知道为什么,上述方法不行了.第一 ...

  3. Highcharts之饼图

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  4. highcharts 柱形图 饼图 加URL或Click事件

    我们在做图表的时候,有时候需要在单个数据上加链接或点击事件,是在plotOptions里的events里设置的 plotOptions: { pie: { cursor: 'pointer', eve ...

  5. highcharts实例教程二:结合php与mysql生成饼图

    上回我们分析了用highcharts结合php和mysql生成折线图的实例,这次我们以技术cto网站搜索引擎流量为例利用highcharts生成饼图. 饼图通常用在我们需要直观地显示各个部分所占的比例 ...

  6. HighCharts之2D饼图

    HighCharts之2D饼图 1. HighCharts之2D饼图源码 <!DOCTYPE html> <html> <head> <meta charse ...

  7. 在.NET MVC 中使用Highcharts+Ajax+Json生成动态曲线图,柱状图,饼图

    开发背景: 今天在做一个关于商城后台金额报表统计的功能,为了让数据直观明了并且这个报表还需要在手机端自适应所以我决定采用HIghCharts插件下的的报表,大家也可以去了解一下免费开源主要是好看. 首 ...

  8. highCharts 饼图动态加载

    饼图的动态加载 (1):导入样式 <script type="text/javascript" src="<%=request.getContextPath( ...

  9. Highcharts 饼图 文字颜色设置

    设置饼图对应的提示文字的颜色与饼图块状一样,demo如下: $(function () { $('#container').highcharts({ chart: { plotBackgroundCo ...

随机推荐

  1. C# Array数组是引用类型

    在C#中值类型都是由System.ValueType的直接派生类,System.ValueType本身又是直接从System.Object派生的.派生的意思是‘利用继承机制,新的类可以从已有的类中生出 ...

  2. Java的内存泄露

    Java的内存泄露 1.静态集合类引起内存泄漏 像HashMap.Vector等的使用最容易出现内存泄露,这些静态变量的生命周期和应用程序一致,他们所引用的所有的对象Object也不能被释放,因为他们 ...

  3. 骁龙735处理器细节曝光:7nm工艺加持,支持5G

    骁龙700系列是高通公司的中高端芯片组系列,该系列包括10nm骁龙710和骁龙712 SoC:以及8nm骁龙730和骁龙730G SoC.最新消息显示,高通公司正在开发一款新的7nm芯片组,将被称为骁 ...

  4. spring Boot环境下dubbo+zookeeper的一个基础讲解与示例

    一,学习背景 1.   前言 对于我们不管工作还是生活中,需要或者想去学习一些东西的时候,大致都考虑几点: a)      我们为什么需要学习这个东西? b)     这个东西是什么? c)      ...

  5. gittalk报错Error

    最近通过github和jekyll搭了一个博客,申请使用了gittalk的评论. 但是博客的页面一直报Error:Not found,如下 发现是gittalk中的信息填写错了,name随便写:Hom ...

  6. Linux如何管理文档多租户

    例题 同一群组microsoft下的两个账号justmine001和justmine002需要共同拥有目录/microsoft/eshop的开发权,以便进行协同工作,但是其他人不允许进入和查阅该目录. ...

  7. 快速构建SPA框架SalutJS--项目工程目录 三

    配置文件 在开始我们的第一个界面之前,我们需要把初始的html和config文件配置好.html非常简单,只需要一个div作为最外部的容器包裹着所有界面即可: <!DOCTYPE html> ...

  8. 用ASP.NET Core 2.1 建立规范的 REST API -- HATEOAS

    本文所需的一些预备知识可以看这里: http://www.cnblogs.com/cgzl/p/9010978.html 和 http://www.cnblogs.com/cgzl/p/9019314 ...

  9. Python3+unitest自动化测试初探(上篇)

    目录 1.概念介绍 2.准备工作 3.一个简单的例子 4.test fixture 5.测试套 1.概念介绍 unit test:单元测试,可以简单粗暴地理解成用一段代码去测试另外一段代码.unitt ...

  10. GetTypes Unable to load one or more of the requested types

    重新生成项目,更新反射类的dll文件