echart 新手踩坑
仪表盘踩坑
我采用的是单文件引入的方式来加载echarts图标也可以使用配置等方式详情参考文档,如果同学们要做出更加丰富的样式请参考文档配置手册
配置手册:http://echarts.baidu.com/opti...
引入js文件已经配置 echart图表环境文档:http://echarts.baidu.com/tuto...
下面上代码
html代码
<div id="main" style="width: 350px;height:350px; float: left;"></div>
<div id="main1" style="width: 350px;height:350px; float: left;"></div>
<div id="main2" style="width: 350px;height:350px; float: left;"></div>
<div id="main3" style="width: 350px;height:350px; margin-top: 20px; float: left;"></div>
<div id="main4" style="width: 350px;height:350px; margin-top: 20px; float: left;"></div>
JS代码
<script type="text/javascript">
$(function() {
all();
});
//温度
function char_update_tem(datas) {
var myChart = echarts.init(document.getElementById('main'));
}
//气压
function chart_update_pre(data) {
var myChart = echarts.init(document.getElementById('main2'));
var option = {
tooltip: {
formatter: "{b} : {c}"
},
toolbox: {
show: true,
feature: {
mark: {
show: false
},
restore: {
show: false
},
saveAsImage: {
show: false
},
dataView: {
show: false
}
}
},
series: [{
name: '气压',
type: 'gauge',
radius: '50%',
min: 550,
max: 1050,
detail: {
formatter: '{value}',
fontSize: 3,
},
//表盘
axisLine: {
show: true,
lineStyle: {
width: 8
}
},
//分隔线
splitLine: {
show: true,
length: 8
},
axisTick: {
show: true,
},
axisLabel: {
show: true,
fontSize: 1,
},
itemStyle: {
normal: {
color: 'auto'
}
},
pointer: {
lenght: '20%',
width: 5
},
detail: {
formatter: '{value}',
backgroundColor: 'rgba(0,0,0,0)',
borderWidth: 0,
fontFamily: 'Courier New',
fontSize: 10,
borderColor: '#ccc',
width: 60,
height: 50,
offsetCenter: [0, 50],
},
data: [{
value: data,
name: '气压',
}]
}]
};
myChart.setOption(option);
}
//风向
function char_update_wind(data) {
var myChart = echarts.init(document.getElementById('main1'));
// 指定图表的配置项和数据
option = {
tooltip: {
formatter: "{b} : {c}"
},
toolbox: {
feature: {
restore: {},
saveAsImage: {}
}
},
series: [{
name: '风向',
type: 'gauge',
radius: "50%",
min: 0,
max: 360,
splitNumber: 20,
startAngle: 90,
endAngle: -270,
precision: 0,
axisLine: {
show: true,
lineStyle: {
width: 10,
shadowColor: 'rgba(0, 0, 0, 0.5)',
shadowBlur: 5,
},
opacity: 0.5
},
splitLine: {
length: 2
},
axisTick: {
show: true,
length: 4
},
axisLabel: { // 坐标轴文本标签,详见axis.axisLabel
show: true,
formatter: function(v) {
switch(v + '') {
case '360':
return '北';
case '90':
return '东';
case '180':
return '南';
case '270':
return '西';
default:
return '';
}
},
textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
color: '#333'
}
},
detail: {
formatter: '{value}',
backgroundColor: 'rgba(0,0,0,0)',
borderWidth: 0,
fontFamily: 'Courier New',
fontSize: 10,
borderColor: '#ccc',
width: 60,
height: 50,
offsetCenter: [0, 10],
},
itemStyle: {
normal: {
color: 'auto'
}
},
pointer: {
lenght: '15%',
width: 5
},
data: [{
value: data,
name: '风向'
}]
}]
};
myChart.setOption(option);
};
//风速
function char_update_wind_speed(data) {
var myChart = echarts.init(document.getElementById("main3"));
var option = {
tooltip: {
formatter: "{b} : {c}"
},
toolbox: {
feature: {
restore: {},
saveAsImage: {}
}
},
series: [{
type: 'gauge',
radius: '50%',
startAngle: 180,
endAngle: 0,
axisLine: {
show: true,
lineStyle: {
width: 10,
shadowColor: 'rgba(0, 0, 0, 0.5)',
shadowBlur: 10,
},
opacity: 0.5
},
splitLine: {
length: 10
},
axisTick: {
length: 4
},
pointer: {
lenght: '20%',
width: 5
},
detail: {
formatter: '{value}',
backgroundColor: 'rgba(0,0,0,0)',
borderWidth: 0,
fontFamily: 'Courier New',
fontSize: 5,
borderColor: '#ccc',
width: 60,
height: 50,
offsetCenter: [0, 5],
},
data: [{
value: data,
name: '风速'
}]
}]
};
myChart.setOption(option);
}
function chart_update_rain(data) {
var myChart = echarts.init(document.getElementById("main4"));
var option = {
tooltip: {
formatter: "{a} <br/>{b} : {c}"
},
series: [{
type: 'gauge',
radius: '55%',
splitNumber: 10, // 分割段数,默认为5
startAngle: 180,
endAngle: 0,
axisLine: { // 坐标轴线
show: true,
lineStyle: {
width: 40,
shadowColor: 'rgba(0, 0, 0, 0.5)',
shadowBlur: 10,
},
opacity: 0.5
},
axisTick: { // 坐标轴小标记
show: false,
splitNumber: 10, // 每份split细分多少段
length: 20, // 属性length控制线长
},
axisLabel: { // 坐标轴文本标签,详见axis.axisLabel
formatter: function(e) {
},
textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
color: 'auto'
}
},
splitLine: { // 分隔线
show: false, // 默认显示,属性show控制显示与否
length: 30, // 属性length控制线长
lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式
color: 'auto'
},
opcity: 0.2
},
pointer: {
width: 5,
length: '90%',
color: 'rgba(112, 135, 255, 0.8)'
},
title: {
show: true,
offsetCenter: [0, '-40%'], // x, y,单位px
textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
fontWeight: 'bolder'
}
},
detail: {
formatter: '{value}',
backgroundColor: 'rgba(0,0,0,0)',
borderWidth: 0,
fontFamily: 'Courier New',
fontSize: 5,
borderColor: '#ccc',
width: 60,
height: 50,
offsetCenter: [0, -40],
},
data: [{
value: data,
name: '雨量'
}]
}]
};
myChart.setOption(option);
}
function all() {
var user = jQuery.readCookie('user');
var auth = jQuery.readCookie('auth');
$.ajax({
type: "get",
url: "/inn/sensor/current.cgi?req=256,257,258,259,260,261&id=201728&sessionid=user:" + user + "%20auth:" + auth,
async: true,
dataType: 'json',
success: function(data) {
for(var i = 0; i < data.length; i++) {
var val = data[i].type;
switch(data[i].type) {
case "256":
char_update_tem();
break;
case "257":
//test(data[0].value);
break;
case "258":
char_update_wind_speed(data[2].value);
break;
case "259":
char_update_wind(data[3].value);
break;
case "260":
chart_update_pre(data[4].value / 100);
break;
case "261":
chart_update_rain(data[5].value);
break;
default:
break;
}
}
//chart_update(data);
}
});
}
// 基于准备好的dom,初始化echarts实例
</script>
echart 新手踩坑的更多相关文章
- ( vant ) 新手踩坑
最近在用vant 做H5 页面,坑太他娘的坑娘啊!!!!!!!!!!!!!!!! 1,修改vant组件样式问题 vant 修改组件的样式时,在scoped 属性下没有效果.如果去掉scope 会造成全 ...
- JavaScript 新手的踩坑日记
引语 在1995年5月,Eich 大神在10天内就写出了第一个脚本语言的版本,JavaScript 的第一个代号是 Mocha,Marc Andreesen 起的这个名字.由于商标问题以及很多产品已经 ...
- 【常见踩坑】USB调试安装失败(Installation failed with message INSTALL_CANCELED_BY_USER)
一.写在前面 最近一直在忙活着项目重构,忙活了一个多月(那是天天加班,不分昼夜呀,ps:这不是我司要求的哈),终于把沉积了三四年的老项目给重构了,目前在测试阶段,也总算有了点闲时来跟大家分享分享一些问 ...
- [置顶]
xamarin android toolbar(踩坑完全入门详解)
网上关于toolbar的教程有很多,很多新手,在使用toolbar的时候踩坑实在太多了,不好好总结一下,实在浪费.如果你想学习toolbar,你肯定会去去搜索androd toolbar,既然你能看到 ...
- ant.design React使用Echarts,实力踩坑
最近项目用到Echarts(以下用ec代替),于是照猫画虎得引入到团队的antd项目中,但是遇到2个棘手问题: 1. ec对dom不渲染,检查后发现,原来是全局存在id重复,所以使用React时,最好 ...
- 微信小程序踩坑集合
1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...
- Spring Boot 开发系列一 开发踩坑
这是学习spring boot 的第二周,公司号称这玩意是啥都不会的新手就可以填空开发,于是决定上手一把,怎么说我也是搞了快七八年的.NET和.NETcore,没想到无情打脸,快被这个能填空开的IDE ...
- manjaro xfce 18.0 踩坑记录
manjaro xfce 18.0 踩坑记录 1 简介1.1 Manjaro Linux1.2 开发桌面环境2 自动打开 NumLock3 系统快照3.1 安装timeshift3.2 使用times ...
- [技术博客]iview组件样式踩坑记录
[技术博客]iview组件样式踩坑记录 iview官方文档. 在本次项目开发中,前端项目主要使用vue框架+iview组件构建,其中iview组件在使用过程中遇到了许多官方文档中没有明确说明或是很难注 ...
随机推荐
- android打飞机游戏、MVP句子迷App、悬浮窗、RxJava+Retrofit、加载动画、定制计划App等源码
Android精选源码 微信打飞机 android进度设置加载效果源码 Android新手引导库EasyGuide MVP-好看又好用的句子迷客户端 XFloatView 一个简易的悬浮窗实现方案 a ...
- i春秋web作业2.24
Web安全工程师(入门班) [全国线上入门班53期]课后作业 2020-2-24 DorinXL 分别尝试安装一个Windows和Linux操作系统 想要在虚拟机上装系统,首先需要下载对应的镜 ...
- spring cloud解决eureka的client注册时默认使用hostname而不是ip
eureka的client注册到server时默认是使用hostname而不是ip.这样的话使用feign client通过eureka进行服务间相互调用时也会使用hostname进行调用,从而调用失 ...
- listening-conversation|信息简写|Generally|回答|矛盾
听力可以刷分,但是要求高.听力流程是听.笔记.读题和确定答案,不能回看.Conversation快速且不完整.素材内容主要是生命科学,社科(人类学:考古学),艺术,自然科学(地质). 难点分析: 词汇 ...
- gpio 的配置
1.时钟使能 B引脚RCC时钟脉冲启动.|(或)表示只要第三个为1就行. 也可以写为RCC_APB2ENR | = 0X0008; 2.配置GPIO的输出模式以及速度 3 . 如果是 0号引脚:GP ...
- IntelliJ的.iml文件及相关的Class Not Found 问题
.iml 文件是IntelliJ IDEA 自动创建的模块文件,用于Java应用开发,存储一些模块开发相关的信息,比如一个Java组件, 插件组件,Maven组件等等, 还可能会存储一些模块路径信息, ...
- axious设置携带cookie同时允许跨域的问题
axious设置携带cookie同时允许跨域的问题
- 3dmax2016卸载/安装失败/如何彻底卸载清除干净3dmax2016注册表和文件的方法
3dmax2016提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装3dmax2016失败提示3dmax2016安装未完成,某些产品无法安装,也有时候想重新安装3 ...
- ZOJ-1167-Trees on the Level
题解: 我的解法是用一个类似字典树结构的结构体来表示节点.看到另一种解法是用数组来映射二叉树的,开到14000就过了,但是我觉得是数据水了,因为题中说最多 256个节点,如果256个节点连成链型,除根 ...
- deepin 更改默认网卡名称为eth和wlan
deepin 更改默认的网卡名称为eth和无线网卡名wlan vim /etc/default/grub 在 GRUB_CMDLINE_LINUX_DEFAULT="sqlash quiet ...