Echarts生成饼状图、条形图以及线形图 JS封装
1、在我们开发程序中,经常会用到生成一些报表,比方说饼状图,条形图,折线图等。不多说了,直接上封装好的代码,如下Echarts.js所示
以下代码是封装在Echarts.js文件中
/**
* Created by Administrator on 2015/8/7.
*/
var charec;
// 路径配置
require.config({
paths: {
echarts: 'http://echarts.baidu.com/build/dist'
}
});
// 按需加载所需图表
require(
[
'echarts',
'echarts/chart/bar', //按需加载条形图
'echarts/chart/line', //按需加载折线图
'echarts/chart/funnel',
'echarts/chart/pie', //按需要加载饼图
'echarts/chart/gauge',
'echarts/chart/map',
], function (ec) {
charec = ec;
}
);
/**
* 创建饼图js
* data[0] 呈现饼图的dom元素id
* data[1] 统计图的主标题
* data[2] 图例
* data[3] 自定义名字
* data[4] 呈现的统计图数据
* @param data
* ["pieArea","活动2情况统计图",["活动1","活动2","活动3"],"活动详情",
* [{"value":"5","name":"活动1"},{"value":"3","name":"活动2"},{"value":"8","name":"活动3"}]]
*
*/
function createChart(data) {
var myChart = charec.init(document.getElementById(data[0]));
var option = {
title: {
text: data[1],
subtext: '',
x: 'center',
},
tooltip: {
trigger: 'item',
formatter: "{a} <br/>{b}:{c} ({d}%)"
},
legend: {
orient: 'vertical',
data: data[2]
},
toolbox: {
show: false,
feature: {
mark: false,
dataView: {show: true, readOnly: false},
magicType: ['line', 'bar', 'pie', 'gauge'],
restore: true
}
},
calculable: true,
series: [{
name: data[3],
type: 'pie',
radius: '50%',
center: ['50%', '50%'],
data: data[4],
itemStyle: {
normal: {label: {show: true, formatter: '{b}:{c}人 ({d}%)'}},
labelLine: {label: {show: true}}
}
}]
};
myChart.setOption(option);
}
/**
* 创建条形图或者折线图
* data[0] 呈现饼图的dom元素id
* data[1] 统计图的主标题
* data[2] 图例
* data[3] 自定义名字
* data[4] 呈现的统计图数据
* data[5] X轴数据
* data[6] 图表类型 bar line
* @param data
*/
// $pieData = array(
// "pieArea", //呈现饼图的dom元素id
// "某地区蒸发量和降水量", //标题
// array("蒸发量", "降水量"), //lend 图例
// "蒸发量或者降水量", //自定义名称
// array(2.6,5.9,6.8,3.1,1.2,8.9),
// array("1月", "2月", "3月","4月","5月","6月"),
// "line"
// );
function createBarChart(data) {
var myChart = charec.init(document.getElementById(data[0]));
var option = {
title: {
text: data[1],
subtext: '',
x: 'center',
},
tooltip: {
trigger: 'axis'
},
legend: {
data: data[2],
orient: 'vertical',
x: '150',
},
toolbox: {
show: false,
feature: {
mark: {show: true},
dataView: {show: true, readOnly: false},
magicType: {show: true, type: ['line', 'bar', 'pie', 'gauge']},
restore: {show: true},
saveAsImage: {show: true}
}
},
calculable: true,
xAxis: [
{
type: 'category',
data: data[5]
}
],
yAxis: [
{
type: 'value'
}
],
series: [
{
name: data[3],
type: data[6],
data: data[4]
}
]
};
myChart.setOption(option);
}
2、如何使用
在前台页面引用以下js文件
<script src="http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js"></script>
<script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
<script type="text/javascript" src="/Static/Js/Echarts.js"></script> -----这个文件就是上面封装的js代码
3、传送数据
前台js代码中,调用 createChart(data) 方法,并把data数据传递过去就行。
其中data的 json 数据格式如下所示,可以转换为一个数组传送过去
[
"pieArea",
"XX广州上海活动情况统计图",
[
"未参加活动",
"参与活动未回答问卷",
"参与活动并回答问卷"
],
"会员活动详情",
[
{
"value": "3",
"name": "未参加活动"
},
{
"value": "5",
"name": "参与活动未回答问卷"
},
{
"value": "10",
"name": "参与活动并回答问卷"
}
]
] --------以下是数组格式
$data=array(
0=>array("name"=>"未参加活动","value"=>"3"),
1=>array("name"=>"参加活动未填问卷","value"=>"5")
)
$pieData = array(
"pieArea", //呈现饼图的dom元素id
"XX活动情况统计图", //标题
array("未参加活动", "参与活动未回答问卷", "参与活动并回答问卷"), //lend 图例
"会员活动详情", //自定义名称
$data //统计数据
);
把$pieData 数据传递过去就行。
createChart(data);
4、哈哈哈,就这样,就完成了,十分简单的。
Echarts生成饼状图、条形图以及线形图 JS封装的更多相关文章
- php 生成饼状图,折线图,条形图 通用类 2
生成饼状图,折线图,条形图通用的php类,这里使用的是国外的 HighCharts,前台页面别忘了调用HighCahrt js HighCharts中文网站 http://www.hcharts. ...
- php 生成饼状图,折线图,条形图 通用类
生成饼状图,折线图,条形图通用的php类,这里使用的是百度 Echart. Echart 官方网站 http://echarts.baidu.com/ <?php class Echarts ...
- JFreeChart框架中生成饼状图上怎样显示数据 [问题点数:40分,结帖人GreenLawn]
我用JFreeChart框架生成饼状图,但想把数据信息在饼图上显示,是在饼图内部(即圆内)显示!怎样实现啊?? 去掉lablepieplot.setLabelGenerator(null);去掉线p ...
- vue中使用echarts画饼状图
echarts的中文文档地址:https://echarts.baidu.com/tutorial.html#5%20%E5%88%86%E9%92%9F%E4%B8%8A%E6%89%8B%20EC ...
- PHP实现动态生成饼状图 (转载)
<?php //变量定义,画椭圆弧时的角度大小 define("ANGLELENGTH", 10); /** * 绘制图片 * @param $title 3D图的标题 * ...
- PHP实现动态生成饼状图、柱状图和折线图(转载)
PHP在图像操作方面的表现非常出色,我们只需借助可以免费得到的GD库便可以轻松实现图.表勾画.下面将分别介绍PHP实现的饼状图.折线图和柱状图以 及他们的使用方法,这几段代码的特点就是不需要再把它们复 ...
- echarts中饼状图数据太多进行翻页
echarts饼状图数据太多 echarts 饼状图内容太多怎么处理 有些时候,我们饼状图中echarts的数据可能会很多. 这个时候展示肯定会密密麻麻的.导致显示很凌乱 我们需要'翻页'类似表格展示 ...
- Winform 后台生成饼状图并保存为图片
.cs代码如下 string ldt_picPath = System.Windows.Forms.Application.StartupPath + @"Pic\" + Item ...
- echarts pie饼状图绑定点击事件
var valueData = [ {value: 33,name: '诊所'}, {value: 29,name: '汽车服务相关'}, {value: 27, name: '洗衣店'}, {val ...
随机推荐
- 【Java 安全技术探索之路系列:J2SE安全架构】之二:安全管理器
作者:郭嘉 邮箱:allenwells@163.com 博客:http://blog.csdn.net/allenwells github:https://github.com/AllenWell 一 ...
- Spring中注解
@Autowired :spring注解 @Resource :J2EE注解 @Transactional(rollbackFor=Exception.class):指定回滚 @RequestMapp ...
- Vue常用语法及命令
1,Vue常用语法 vue常用语法之变量的定义 // 1,变量相关 // 变量的提升 var username = "雪雪"; var username ; console.log ...
- 为Windows Live Writer添加Code插件
1.插件效果展示 1: void CDemoDlg::OnBnClickedNmdlg() 2: { 3: CNonModeDlg *pDlg = new CNonModeDlg();// 创建一个C ...
- 内存溢出-jvisualvm排查问题
先来一段能够内存溢出的程序 public static void main(String[] args) { List<Object> list = new ArrayList<&g ...
- Poi 操作 Excel
http://blog.csdn.net/chenglc1612/article/details/53413445 一. POI简介 Apache POI是Apache软 ...
- bzoj2823: [AHOI2012]信号塔&&1336: [Balkan2002]Alien最小圆覆盖&&1337: 最小圆覆盖
首先我写了个凸包就溜了 这是最小圆覆盖问题,今晚学了一下 先随机化点,一个个加入 假设当前圆心为o,半径为r,加入的点为i 若i不在圆里面,令圆心为i,半径为0 再重新从1~i-1不停找j不在圆里面, ...
- Ural2040:Palindromes and Super Abilities(离线&manecher算法)
Dima adds letters s1, …, sn one by one to the end of a word. After each letter, he asks Misha to tel ...
- 从free到page cache
Free 我们经常用free查看服务器的内存使用情况,而free中的输出却有些让人困惑,如下: 图1-1 先看看各个数字的意义以及如何计算得到: free命令输出的第二行(Mem):这行分别显示了 ...
- 洛谷 P1262 间谍网络 —— 缩点
题目:https://www.luogu.org/problemnew/show/P1262 首先,一个强连通分量里有一个点被控制则所有点都被控制,所以先 tarjan 缩点,记一下每个连通块中能被收 ...