仪表盘踩坑


我采用的是单文件引入的方式来加载echarts图标也可以使用配置等方式详情参考文档,如果同学们要做出更加丰富的样式请参考文档配置手册
配置手册:http://echarts.baidu.com/opti...
引入js文件已经配置 echart图表环境文档:http://echarts.baidu.com/tuto...

下面上代码
html代码

  1. <div id="main" style="width: 350px;height:350px; float: left;"></div>
  2. <div id="main1" style="width: 350px;height:350px; float: left;"></div>
  3. <div id="main2" style="width: 350px;height:350px; float: left;"></div>
  4. <div id="main3" style="width: 350px;height:350px; margin-top: 20px; float: left;"></div>
  5. <div id="main4" style="width: 350px;height:350px; margin-top: 20px; float: left;"></div>

JS代码

  1. <script type="text/javascript">
  2. $(function() {
  3. all();
  4. });
  5. //温度
  6. function char_update_tem(datas) {
  7. var myChart = echarts.init(document.getElementById('main'));
  8. }
  9. //气压
  10. function chart_update_pre(data) {
  11. var myChart = echarts.init(document.getElementById('main2'));
  12. var option = {
  13. tooltip: {
  14. formatter: "{b} : {c}"
  15. },
  16. toolbox: {
  17. show: true,
  18. feature: {
  19. mark: {
  20. show: false
  21. },
  22. restore: {
  23. show: false
  24. },
  25. saveAsImage: {
  26. show: false
  27. },
  28. dataView: {
  29. show: false
  30. }
  31. }
  32. },
  33. series: [{
  34. name: '气压',
  35. type: 'gauge',
  36. radius: '50%',
  37. min: 550,
  38. max: 1050,
  39. detail: {
  40. formatter: '{value}',
  41. fontSize: 3,
  42. },
  43. //表盘
  44. axisLine: {
  45. show: true,
  46. lineStyle: {
  47. width: 8
  48. }
  49. },
  50. //分隔线
  51. splitLine: {
  52. show: true,
  53. length: 8
  54. },
  55. axisTick: {
  56. show: true,
  57. },
  58. axisLabel: {
  59. show: true,
  60. fontSize: 1,
  61. },
  62. itemStyle: {
  63. normal: {
  64. color: 'auto'
  65. }
  66. },
  67. pointer: {
  68. lenght: '20%',
  69. width: 5
  70. },
  71. detail: {
  72. formatter: '{value}',
  73. backgroundColor: 'rgba(0,0,0,0)',
  74. borderWidth: 0,
  75. fontFamily: 'Courier New',
  76. fontSize: 10,
  77. borderColor: '#ccc',
  78. width: 60,
  79. height: 50,
  80. offsetCenter: [0, 50],
  81. },
  82. data: [{
  83. value: data,
  84. name: '气压',
  85. }]
  86. }]
  87. };
  88. myChart.setOption(option);
  89. }
  90. //风向
  91. function char_update_wind(data) {
  92. var myChart = echarts.init(document.getElementById('main1'));
  93. // 指定图表的配置项和数据
  94. option = {
  95. tooltip: {
  96. formatter: "{b} : {c}"
  97. },
  98. toolbox: {
  99. feature: {
  100. restore: {},
  101. saveAsImage: {}
  102. }
  103. },
  104. series: [{
  105. name: '风向',
  106. type: 'gauge',
  107. radius: "50%",
  108. min: 0,
  109. max: 360,
  110. splitNumber: 20,
  111. startAngle: 90,
  112. endAngle: -270,
  113. precision: 0,
  114. axisLine: {
  115. show: true,
  116. lineStyle: {
  117. width: 10,
  118. shadowColor: 'rgba(0, 0, 0, 0.5)',
  119. shadowBlur: 5,
  120. },
  121. opacity: 0.5
  122. },
  123. splitLine: {
  124. length: 2
  125. },
  126. axisTick: {
  127. show: true,
  128. length: 4
  129. },
  130. axisLabel: { // 坐标轴文本标签,详见axis.axisLabel
  131. show: true,
  132. formatter: function(v) {
  133. switch(v + '') {
  134. case '360':
  135. return '北';
  136. case '90':
  137. return '东';
  138. case '180':
  139. return '南';
  140. case '270':
  141. return '西';
  142. default:
  143. return '';
  144. }
  145. },
  146. textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
  147. color: '#333'
  148. }
  149. },
  150. detail: {
  151. formatter: '{value}',
  152. backgroundColor: 'rgba(0,0,0,0)',
  153. borderWidth: 0,
  154. fontFamily: 'Courier New',
  155. fontSize: 10,
  156. borderColor: '#ccc',
  157. width: 60,
  158. height: 50,
  159. offsetCenter: [0, 10],
  160. },
  161. itemStyle: {
  162. normal: {
  163. color: 'auto'
  164. }
  165. },
  166. pointer: {
  167. lenght: '15%',
  168. width: 5
  169. },
  170. data: [{
  171. value: data,
  172. name: '风向'
  173. }]
  174. }]
  175. };
  176. myChart.setOption(option);
  177. };
  178. //风速
  179. function char_update_wind_speed(data) {
  180. var myChart = echarts.init(document.getElementById("main3"));
  181. var option = {
  182. tooltip: {
  183. formatter: "{b} : {c}"
  184. },
  185. toolbox: {
  186. feature: {
  187. restore: {},
  188. saveAsImage: {}
  189. }
  190. },
  191. series: [{
  192. type: 'gauge',
  193. radius: '50%',
  194. startAngle: 180,
  195. endAngle: 0,
  196. axisLine: {
  197. show: true,
  198. lineStyle: {
  199. width: 10,
  200. shadowColor: 'rgba(0, 0, 0, 0.5)',
  201. shadowBlur: 10,
  202. },
  203. opacity: 0.5
  204. },
  205. splitLine: {
  206. length: 10
  207. },
  208. axisTick: {
  209. length: 4
  210. },
  211. pointer: {
  212. lenght: '20%',
  213. width: 5
  214. },
  215. detail: {
  216. formatter: '{value}',
  217. backgroundColor: 'rgba(0,0,0,0)',
  218. borderWidth: 0,
  219. fontFamily: 'Courier New',
  220. fontSize: 5,
  221. borderColor: '#ccc',
  222. width: 60,
  223. height: 50,
  224. offsetCenter: [0, 5],
  225. },
  226. data: [{
  227. value: data,
  228. name: '风速'
  229. }]
  230. }]
  231. };
  232. myChart.setOption(option);
  233. }
  234. function chart_update_rain(data) {
  235. var myChart = echarts.init(document.getElementById("main4"));
  236. var option = {
  237. tooltip: {
  238. formatter: "{a} <br/>{b} : {c}"
  239. },
  240. series: [{
  241. type: 'gauge',
  242. radius: '55%',
  243. splitNumber: 10, // 分割段数,默认为5
  244. startAngle: 180,
  245. endAngle: 0,
  246. axisLine: { // 坐标轴线
  247. show: true,
  248. lineStyle: {
  249. width: 40,
  250. shadowColor: 'rgba(0, 0, 0, 0.5)',
  251. shadowBlur: 10,
  252. },
  253. opacity: 0.5
  254. },
  255. axisTick: { // 坐标轴小标记
  256. show: false,
  257. splitNumber: 10, // 每份split细分多少段
  258. length: 20, // 属性length控制线长
  259. },
  260. axisLabel: { // 坐标轴文本标签,详见axis.axisLabel
  261. formatter: function(e) {
  262. },
  263. textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
  264. color: 'auto'
  265. }
  266. },
  267. splitLine: { // 分隔线
  268. show: false, // 默认显示,属性show控制显示与否
  269. length: 30, // 属性length控制线长
  270. lineStyle: { // 属性lineStyle(详见lineStyle)控制线条样式
  271. color: 'auto'
  272. },
  273. opcity: 0.2
  274. },
  275. pointer: {
  276. width: 5,
  277. length: '90%',
  278. color: 'rgba(112, 135, 255, 0.8)'
  279. },
  280. title: {
  281. show: true,
  282. offsetCenter: [0, '-40%'], // x, y,单位px
  283. textStyle: { // 其余属性默认使用全局文本样式,详见TEXTSTYLE
  284. fontWeight: 'bolder'
  285. }
  286. },
  287. detail: {
  288. formatter: '{value}',
  289. backgroundColor: 'rgba(0,0,0,0)',
  290. borderWidth: 0,
  291. fontFamily: 'Courier New',
  292. fontSize: 5,
  293. borderColor: '#ccc',
  294. width: 60,
  295. height: 50,
  296. offsetCenter: [0, -40],
  297. },
  298. data: [{
  299. value: data,
  300. name: '雨量'
  301. }]
  302. }]
  303. };
  304. myChart.setOption(option);
  305. }
  306. function all() {
  307. var user = jQuery.readCookie('user');
  308. var auth = jQuery.readCookie('auth');
  309. $.ajax({
  310. type: "get",
  311. url: "/inn/sensor/current.cgi?req=256,257,258,259,260,261&id=201728&sessionid=user:" + user + "%20auth:" + auth,
  312. async: true,
  313. dataType: 'json',
  314. success: function(data) {
  315. for(var i = 0; i < data.length; i++) {
  316. var val = data[i].type;
  317. switch(data[i].type) {
  318. case "256":
  319. char_update_tem();
  320. break;
  321. case "257":
  322. //test(data[0].value);
  323. break;
  324. case "258":
  325. char_update_wind_speed(data[2].value);
  326. break;
  327. case "259":
  328. char_update_wind(data[3].value);
  329. break;
  330. case "260":
  331. chart_update_pre(data[4].value / 100);
  332. break;
  333. case "261":
  334. chart_update_rain(data[5].value);
  335. break;
  336. default:
  337. break;
  338. }
  339. }
  340. //chart_update(data);
  341. }
  342. });
  343. }
  344. // 基于准备好的dom,初始化echarts实例
  345. </script>

echart 新手踩坑的更多相关文章

  1. ( vant ) 新手踩坑

    最近在用vant 做H5 页面,坑太他娘的坑娘啊!!!!!!!!!!!!!!!! 1,修改vant组件样式问题 vant 修改组件的样式时,在scoped 属性下没有效果.如果去掉scope 会造成全 ...

  2. JavaScript 新手的踩坑日记

    引语 在1995年5月,Eich 大神在10天内就写出了第一个脚本语言的版本,JavaScript 的第一个代号是 Mocha,Marc Andreesen 起的这个名字.由于商标问题以及很多产品已经 ...

  3. 【常见踩坑】USB调试安装失败(Installation failed with message INSTALL_CANCELED_BY_USER)

    一.写在前面 最近一直在忙活着项目重构,忙活了一个多月(那是天天加班,不分昼夜呀,ps:这不是我司要求的哈),终于把沉积了三四年的老项目给重构了,目前在测试阶段,也总算有了点闲时来跟大家分享分享一些问 ...

  4. [置顶] xamarin android toolbar(踩坑完全入门详解)

    网上关于toolbar的教程有很多,很多新手,在使用toolbar的时候踩坑实在太多了,不好好总结一下,实在浪费.如果你想学习toolbar,你肯定会去去搜索androd toolbar,既然你能看到 ...

  5. ant.design React使用Echarts,实力踩坑

    最近项目用到Echarts(以下用ec代替),于是照猫画虎得引入到团队的antd项目中,但是遇到2个棘手问题: 1. ec对dom不渲染,检查后发现,原来是全局存在id重复,所以使用React时,最好 ...

  6. 微信小程序踩坑集合

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...

  7. Spring Boot 开发系列一 开发踩坑

    这是学习spring boot 的第二周,公司号称这玩意是啥都不会的新手就可以填空开发,于是决定上手一把,怎么说我也是搞了快七八年的.NET和.NETcore,没想到无情打脸,快被这个能填空开的IDE ...

  8. manjaro xfce 18.0 踩坑记录

    manjaro xfce 18.0 踩坑记录 1 简介1.1 Manjaro Linux1.2 开发桌面环境2 自动打开 NumLock3 系统快照3.1 安装timeshift3.2 使用times ...

  9. [技术博客]iview组件样式踩坑记录

    [技术博客]iview组件样式踩坑记录 iview官方文档. 在本次项目开发中,前端项目主要使用vue框架+iview组件构建,其中iview组件在使用过程中遇到了许多官方文档中没有明确说明或是很难注 ...

随机推荐

  1. QLIKVIEW-日期格式,数字格式写法

    LOAD T_SAL_ORDER.LE_ID, [T_SAL_ORDER.LCY CODE], T_SAL_ORDER.SYSTEM, T_SAL_ORDER.#DataDateTime, T_SAL ...

  2. LeetCode No.133,134,135

    No.133 CloneGraph 克隆图 题目 给你无向 连通 图中一个节点的引用,请你返回该图的 深拷贝(克隆). 图中的每个节点都包含它的值 val(int) 和其邻居的列表(list[Node ...

  3. springboot系列教程导学篇

    spring boot2.0系列教程学习之导学篇 springboot 2.0深度学习系列教程. Spring Boot 虽然凯哥从2015年年初开始就接触了spring boot.但是在之后的公司中 ...

  4. idea转eclipse快捷键

    1.打开idea,点击上方菜单栏中的File, 2.在弹出的setting页面中左侧导航中选择Keymap:在keymaps下拉列表中选择Eclipse:如果想要使用这个快捷键风格,则点击右侧的cop ...

  5. npm基本语法

    npm -version  查看npm版本 npm install <name>  安装node.js的依赖包 npm install <name> @3.0.6 安装版本为3 ...

  6. 4.Redis持久化方案

    1.1 RDB持久化 RDB方式的持久化是通过快照(snapshotting)完成的,当符合一定条件时Redis会自动将内存中的数据进行快照并持久化到硬盘. RDB是Redis默认采用的持久化方式. ...

  7. Halcon算子含义

    1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样本添加到一个高斯混合模型的训练数据上. 2.classify_class_gmm ...

  8. leetcode第38题:报数

    这是一道简单题,但是我做了很久,主要难度在读题和理解题上. 思路:给定一个数字,返回这个数字报数数列.我们可以通过从1开始,不断扩展到n的数列.数列的值为前一个数列的count+num,所以我们不断叠 ...

  9. Filezilla Server搭建FTP服务器

    一.下载Filezilla  Server 官网网址:https://filezilla-project.org 下载链接 :https://filezilla-project.org/downloa ...

  10. Ho|H1|p-value|p值与U值|单侧检验

    生物统计学 统计推断的过程: Ho:XXXX会发生 H1:XXXX不会发生 p:XXXX会发生的概率(概率计算过程),如果是小概率,则H0不可能发生,所以拒绝H0接受H1. 概率计算过程:先设定小概率 ...