这次是利用mui框架实现一个手机移动端的项目。基本的框架已经实现,主要来获取数据实现一个图表的展示。

首先引入插件:echarts.js

<script src="../resources/js/echarts.js" type="text/javascript" charset="utf-8" ></script>

然后再html页面,给图表一个空间,以便放置图表:

<div class="pie_menu">
<div class="left_menu" id="left_menu"></div>
</div>
<div class="pie_menu">
<div class="right_menu" id="right_menu"></div>
</div>
需要做两个图表,所以就开了两个空间

接下来是获取数据部分:

$(function(){
mui.init();//初始化mui
var leftPie;//部门:第一个空间
var rightPie;//类型:第二个空间
var data = [];//第一个空间的数据配置
var data2 = [];//第二个空间的数据配置
function setOption(data){
var leftMenu = echarts.init(document.getElementById('left_menu'));
var rightMenu = echarts.init(document.getElementById('right_menu'));
window.onresize = (leftMenu.resize && rightMenu.resize);//图表随着屏幕变化而变化
//类型图表配置
rightOption = { //类型
title : {
text: '点统计(按类型)',//图表标题
x:'center' //图表位置样式
},
tooltip : {
trigger: 'item',
formatter: "{a} <br/>{b} : {c} ({d}%)" //鼠标悬浮显示数据
},
legend: { //图标,图示
orient: 'vertical',
bottom:30,
left: 'left',
data: data //此数据和series内的数据相同(此项是获取之后的数据)
},
color:[ '#EB7C30' , '#5A99D3'], //颜色指定
series : [
{
name: '点统计',
type: 'pie',
radius : '55%',
center: ['55%', '50%'],
label: {
normal: {
formatter: "{c}\n({d}%)", //在图标上显示的数据
show: true,
position: 'inner',//文字显示位置
textStyle: {
fontSize: '14',
fontWeight: 'normal'
}
}
},
data:data,//此项同是获取的数据
itemStyle: {
emphasis: { //饼图或柱状图显示的样式
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
}
          //部门图表数据配置
leftOption = { //部门
title : {
text: '点统计(按部门)',//标题
x:'center' //样式
},
tooltip : {
trigger: 'item',
formatter: "{a} <br/>{b} : {c} ({d}%)" //悬浮显示数据  a:代表标题;b代表name值;c代表name的value值;d代表百分比数值;这四个各有各的好处,可尝试,主要是数据显示啦
},
legend: { //图标,图示
orient: 'vertical',
bottom:30,
left: 'left',
data: data2
},
color:['#5A99D3', '#FFBF00','#A5A5A5','#EB7C30'], //颜色指定
series : [
{
name: '监控点统计',
type: 'pie',
radius : '55%',
center: ['55%', '50%'],
label: {
normal: {
formatter: "{c}\n({d}%)", //在图标上显示的数据
show: true,
position: 'inner',//文字显示位置
textStyle: {
fontSize: '14',
fontWeight: 'normal'
}
}
},
data:data2,
itemStyle: {
emphasis: { //饼图或柱状图显示的样式
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
}
leftMenu.setOption(leftOption);//部门配置设置
rightMenu.setOption(rightOption);//类型
}
//获取数据
function getMapData(limit){
$.buslongAjax({
url : $.operaData.monitorypoint.url,
data : $.operaData.monitorypoint.param,
dataType:'JSON',
success:function(objdata){
var label = [];
var allData = []
if(objdata){
$.each(objdata,function(i,p){
                        console.log(objdata);//可打印获取的数据
label = i ;//
allData ={'name':i,'value':p};//设置键值对形式
                        //以下是做的一个判断,两个空间放置不同的数据,因后台数据传过来的是一整套,就自己判断来显示数据了。
leftPie = $("#left_menu");
rightPie = $("#right_menu");
if(rightPie){ //如果按照类型
if(allData.name == "applicationnum" || allData.name == "platformnum"){
if(allData.name == "applicationnum" ){
allData.name = "平台类";
}if(allData.name == "platformnum"){
allData.name = "应用类";
}
var oneData = {};
var oneData = {name:allData.name,value:allData.value};
data.push(oneData);//将数据填到data里面
}
}
if(leftPie){ //如果按照部门
if(allData.name == "itzhicheng" || allData.name == "jingfen" || allData.name == "xitong" || allData.name == "yewuyunying"){
if(allData.name == "itzhicheng" ){
allData.name = "IT支撑中心";
}if(allData.name == "jingfen"){
allData.name = "经分支撑中心";
}if(allData.name == "xitong" ){
allData.name = "系统维护中心";
}if(allData.name == "yewuyunying"){
allData.name = "业务运营中心";
}
var oneData = {};
var oneData = {name:allData.name,value:allData.value};
data2.push(oneData);//将数据添到另一个空间的data2里面
}
}
});
}
//option.series[0].data=data;
setOption(data);//执行setOption函数。传参,将数据传到配置信息内
}
});
}
getMapData(2);
})

  

好了,到了此处数据也获取下来了,也显示到页面中了,最终效果为:

虽然有点丑,哈哈,但是后边再调节吧,第一次做这种图表,还挺有意思的,图表还有另外一个插件,Highcharts,这个也挺有意思,有时间可以去学习玩玩。

整的来说,就是引入插件,写入HTML以及样式,配置图表信息(网上有很多解析),获取数据并且加以显示。哦啦

大神们有更好的方法,求推荐呀~~~!

Echarts获取数据绘制图表的更多相关文章

  1. Highcharts使用CSV格式数据绘制图表

    Highcharts使用CSV格式数据绘制图表 CSV(Comma-Separated Values,逗号分隔值文本格式)是採用逗号切割的纯文本数据.通常情况下.每一个数据之间使用逗号切割,几个相关数 ...

  2. Highcharts使用表格数据绘制图表

    Highcharts使用表格数据绘制图表 在Highcharts中,同意用户使用网页中现有的表格数据作为数据来源,然后依据该数据来源绘制图表.对于一个典型的HTML表格.当中,第一列的数据会作为x轴刻 ...

  3. highcharts动态获取数据生成图表问题

    动态获取数据说白点就是从后台传值到前台,前台把这些值赋值给x轴与y轴(这里指的是你X轴与Y轴都是变化的数据,如果你的X轴是固定的,像时间等等的那就另说).  柱状图的动态传值: //获取后台数据 va ...

  4. echarts获取数据的一些难点1

    像上面获取数据后,如果再根据下方按钮查询不同获取的价格,虽然曲线价格能按照不同的来展示, 但是问题有: 查询到的company字段虽然在获取的data中能测试出,但是在上方填入这些companys后, ...

  5. Python连接MySQL数据库获取数据绘制柱状图

    一.Python通过pymysql包获取MySQL数据库中的数据(没有对应包的可以通过pip install pymysql 安装对应的包) import matplotlib.pyplot as p ...

  6. vue+echarts 动态绘制图表以及异步加载数据

    前言 背景:vue写的后台管理,需要将表格数据绘制成图表(折线图,柱状图),图表数据都是通过接口请求回来的. 安装 cnpm install echarts --s (我这里用了淘宝镜像,不知道同学自 ...

  7. mpvue 使用echarts动态绘制图表(数据改变重新渲染图表)

    最近在公司开发一款微信小程序,按照客户需求用饼状图显示当前设备状态(开机.故障.关机),于是就在网上寻找各种资料,找了很多mpvue使用关于echarts绘制图表,最终功夫不负有心人,找到一篇关于mp ...

  8. Webstorm+Webpack+echarts构建个性化定制的数据可视化图表&&两个echarts详细教程(柱状图,南丁格尔图)

    Webstorm+Webpack+echarts   ECharts 特性介绍 ECharts,一个纯 Javascript 的图表库,可以流畅的运行在 PC 和移动设备上,兼容当前绝大部分浏览器(I ...

  9. ECharts 从后台动态获取数据 (asp.net)

    (一) 使用工具 visual studio 2017:Web开发:asp.net (代码中的js引用路径以及ajax方法调用的url,记得修改哦) (二) 准备工作(此处写给和我一样小白) 1.动态 ...

随机推荐

  1. 安装时后的idea,项目不能运行,pom.xml文件不能下载到本地仓库,maven配置是正确的

    安装时后的idea,项目不能运行,pom.xml文件不能下载到本地仓库,maven配置是正确的 项目上传到svn后,同事下载项目后,没有识别出来mavn中的pom.xml文件,导致idea不能自动下载 ...

  2. 生成分布式随机ID

    经测试,最快的一种 public class Generator { // should be between 40 (34 years) and 42 (139 years) ; // should ...

  3. Repeater 和 GridView 添加序列号

    <tr><asp:Repeater ID="rptOfBrowerInfo" runat="server" >    <Heade ...

  4. day4 函数重载

    函数的重载 1.函数重载的定义:在同一个类中,有一个以上的同名函数,只要函数的参数列表或参数类型不一样即可,与返回值无关, 这些统称为方法的重载. 2.函数的重载存在的原因:为了增强方法的阅读性,优化 ...

  5. pyjsonrpc模块使用

    pyjsonrpc模块的远程过程调用方法. # -*- coding:utf-8 -*- #!/usr/bin/env python2.7 # @Author : tianbao # @Contact ...

  6. 5.zip隐写术

    首先分析pcapng,来得到flag. 先亮出下载地址:http://ctf5.shiyanbar.com/misc/LOL/LOL.pcapng 由于这是.pcapng,需要下载 wireshark ...

  7. 实训随笔2:Git Gui——拯救菜鸟的工具

    熟练使用git进行多人协作开发,是程序猿必备的专业技能之一,可惜我等实在太菜搞不来复杂的命令行. 幸好除了Git Bash还有一个Git gui存在——专门为了拯救我们这些菜鸡程序猿而存在的工具. 下 ...

  8. c# 库间关系

  9. Git 深度学习填坑之旅一(git安装和配置、基本命令)

    前戏 最近不管是工作还是ctf比赛,接触与使用git变得越来越多,git半吊子水平的我已经不能支撑日常工作了.碰巧自己公司项目刚上线,现在能挤出一点时间来挖一下这个坑... 为什么使用Git 1.后悔 ...

  10. eclipse svn 忽略target .project .classpath等目录文件

    这个build失败的解决方案就是不要把你项目的 target目录放在src repository 里面,还有 .project 和 .classpath 最好也别放到src repository 里. ...