学习unigui【24】Echart的使用:多个坐标系
使用echart非常简单,网上有介绍。
主要放一个unihtmlFrame。然后unihtmlframe.text := 'html的代码',就会渲染(初次调用echart的js库要一点稍后)。
unigui本身的chart貌似不能动态生成。
option = {
title: [{
text: 'TOP10(抗菌药物使用人数)',
top: '1%',
left:'center',
textStyle:{
// color:'#d1ecff',
fontStyle:'normal',
fontWeight:'600',
fontFamily:'sans-serif',
fontSize:13
}
},{
text: "TOP10(使用率%)",
top:'18.2%',
left:'center',
textStyle:{
//color:'#ccc',
fontStyle:'normal',
fontWeight:'600',
fontFamily:'sans-serif',
fontSize:13
}
},
{
text: "TOP10(抗菌药物并送检人数)",
top:'36%',
left:'center',
textStyle:{
// color:'#ccc',
fontStyle:'normal',
fontWeight:'600',
fontFamily:'sans-serif',
fontSize:13
}
},
{
text: "TOP10(送检率)",
top:'52%',
left:'center',
textStyle:{
// color:'#ccc',
fontStyle:'normal',
fontWeight:'600',
fontFamily:'sans-serif',
fontSize:13
}
},
{
text: "TOP10(抗菌药物未送检人数)",
top:'70%',
left:'center',
textStyle:{
// color:'#ccc',
fontStyle:'normal',
fontWeight:'600',
fontFamily:'sans-serif',
fontSize:13
}
},
{
text: "TOP10(未送检率)",
top:'86%',
left:'center',
textStyle:{
// color:'#ccc',
fontStyle:'normal',
fontWeight:'600',
fontFamily:'sans-serif',
fontSize:13
}
},
],
legend: {},
tooltip: {},
dataset: {
source: [
// ['product', '2012', '2013', '2014', '2019'],
// ['Product A', 79.1, 66, 70.2, 155,99],
// ['Product B', 50, 50, 50, 50,88],
// ['Product c', 70, 50, 50, 50,77]
]
},
xAxis: [
{ type: 'category', gridIndex: 0,name: '科室',data: ['20121', '20131', '2014','2019','2020'] },
{ type: 'category', gridIndex: 1,name: '科室',data: ['20122', '20132', '20142','2019','手术'] },
{ type: 'category', gridIndex: 2,name: '科室',data: ['内科', '外科', '中医','心内科'] }, // 新增坐标轴,设置其所属网格为新添加的第三个网格
{ type: 'category', gridIndex: 3,name: '科室',data: ['内科', '外科', '中医','心内科'] },
{ type: 'category', gridIndex: 4,name: '科室',data: [] },
{ type: 'category', gridIndex: 5,name: '科室',data: ['内科', '外科', '中医','心内科'] }
],
yAxis: [
{ gridIndex: 0,name:'' },
{ gridIndex: 1,name:'' },
{ gridIndex: 2,name:'' }, // 新增坐标轴,设置其所属网格为新添加的第三个网格
{ gridIndex: 3,name:'' },
{ gridIndex: 4,name:'' },
{ gridIndex: 5,name:'' }
],
grid: [
{id: 'grid-top-1', top: '5%', height: '10%',title : '报警、处理次数分析统计'},
{id: 'grid-top-2', top: '22%', height: '10%'},
{id: 'grid-top-3', top: '41%', height: '8%'},
{id: 'grid-bottom-1',bottom: '3%', height: '8%'},
{id: 'grid-bottom-2',bottom: '17%', height: '10%'},
{id: 'grid-bottom-3',bottom: '35%', height: '10%'}
],
series: [
{ label:{show:true,position:'top',formatter:function(data){return data.value+'人'}},
type: 'bar',seriesLayoutBy: 'row', xAxisIndex: 0, yAxisIndex: 0,data:[79.1, 66, 70.2, 155,99] },
{ label:{show:true,position:'top',formatter:function(data){return data.value+'人'}},
type: 'bar', seriesLayoutBy: 'row', xAxisIndex: 2, yAxisIndex: 2, data:[50, 60, 90, 50,88] },
{ label:{show:true,position:'top',formatter:function(data){return data.value+'%'}},
type: 'bar', seriesLayoutBy: 'row', xAxisIndex: 1, yAxisIndex: 1,data:[70, 50, 50, 50,77] },
// 新增系列
{ label:{show:true,position:'top',formatter:function(data){return data.value+'%'}},
type: 'bar', seriesLayoutBy: 'row', xAxisIndex: 3, yAxisIndex: 3, data: [70, 50, 50, 50,77] },
{ type: 'bar', seriesLayoutBy: 'row', xAxisIndex: 4, yAxisIndex: 4, data: [] },
{ type: 'bar', seriesLayoutBy: 'row', xAxisIndex: 5, yAxisIndex: 5, data: [70, 50, 50, 50,77] },
]
};

需要更新数据的话,直接使用占位符替换。然后把代码赋值给uniHTMLFrame.text,立马渲染出来。
学习unigui【24】Echart的使用:多个坐标系的更多相关文章
- iOS 阶段学习第24天笔记(Block的介绍)
iOS学习(OC语言)知识点整理 一.Block 的介绍 1)概念: block 是一种数据类型,类似于C语言中没有名字的函数,可以接收参数,也可以返回值与C函数一样被调用 封装一段代码 可以在任何地 ...
- android学习笔记24——事件处理
事件处理 android提供了两种事件处理机制: 1.基于回调的事件处理 2.基于监听器的事件处理(通过绑定特定事件监听器) 注意: android对于基于回调的事件处理而言,主要做法就是重写andr ...
- C++学习笔记24,方法重写与方法隐藏
该博文仅用于交流学习.请慎用于不论什么商业用途.本博主保留对该博文的一切权利. 博主博客:http://blog.csdn.net/qq844352155 转载请注明出处: 方法重写.是指在子类中又一 ...
- ArcGIS API for JavaScript 4.2学习笔记[24] 【IdentifyTask类】的使用(结合IdentifyParameters类)(第七章完结)
好吧,我都要吐了. 接连三个例子都是类似的套路,使用某个查询参数类的实例,结合对应的Task类,对返回值进行取值.显示. 这个例子是Identify识别,使用了TileLayer这种图层,数据来自Se ...
- Kali学习笔记24:Nikto、Skipfish
文章的格式也许不是很好看,也没有什么合理的顺序 完全是想到什么写一些什么,但各个方面都涵盖到了 能耐下心看的朋友欢迎一起学习,大牛和杠精们请绕道 实验环境: Kali机器IP:192.168.163. ...
- Java学习笔记24(Map集合)
Map接口: Map接口与Collection接口无继承关系. 区别:Collection中的元素是孤立的,一个一个存进去的. Map作为一个映射集合,每一个元素包含Key-value对(键-值对). ...
- [原创]java WEB学习笔记24:MVC案例完整实践(part 5)---删除操作的设计与实现
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
- Linux下汇编语言学习笔记24 ---
这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...
- PHP全栈学习笔记24
PHP in_array() 函数 定义和用法 in_array() 函数搜索数组中是否存在指定的值. type 参数被设置为 TRUE,则搜索区分大小写. 语法 in_array(search,ar ...
- 大数据学习(24)—— Spark入门
在学Spark之前,我们再回顾一下MapReduce的知识,这对我们理解Spark大有裨益. 在大数据的技术分层中,Spark和MapReduce同为计算层的批处理技术,但是Spark比MapRedu ...
随机推荐
- Ceisum三维场景demo
技术栈&资源 框架:EarthSDK(基于cesium二次开发包) 底图:Arcgis公开地图服务 楼栋白膜:自有shape数据,使用CesiumLab切片为tileset.json glb模 ...
- Golang-反射10
http://c.biancheng.net/golang/reflect/ Go语言反射(reflection)简述 反射(reflection)是在 Java 出现后迅速流行起来的一种概念,通过反 ...
- 如何在 ASP.NET Core 中实现速率限制?
在 ASP.NET Core 中实现速率限制(Rate Limiting)中间件可以帮助你控制客户端对 API 的请求频率,防止滥用和过载.速率限制通常用于保护服务器资源,确保服务的稳定性和可用性. ...
- thewall靶机
includes.php 内有文件读取漏洞 一开始是想着直接用为协议写入一句话木马但是后来发现不行 因为他的文件读取方式长这样 点击查看代码 <?php include ('/var/www/h ...
- 小程序 uni-app动态更改标题
uni-app动态更改顶部标题 uni-app uni.setNavigationBarTitle({ title: '编辑班级荣誉' }) 小程序 wx.setNavigationBarTitle( ...
- API网关-APISIX简介
本文分享自天翼云开发者社区<API网关-APISIX简介>,作者:w****n Apache APISIX 是一个动态.实时.高性能的云原生 API 网关,提供了负载均衡.动态上游.灰度发 ...
- 一款基于 WPF 开源、功能全面的串口调试工具
前言 今天大姚给大家分享一款基于 WPF 开源(MIT License).免费.功能全面的串口调试工具:BYSerial. 项目介绍 BYSerial是一款基于 WPF 开源(MIT License) ...
- Q:以非root用户编辑定时任务报错You are not allowed to use this program(crontab)
编辑定时删除文件任务时报错 crontab -e 编辑定时任务时报错,如下图所示 问题原因:/etc/cron.allow中没有添加对应的用户名解决办法:切换到root用户,在/etc/cron.al ...
- mongoDb 的启动方式
参考地址:https://www.cnblogs.com/LLBFWH/articles/11013791.html 一. 启动 1. 最简单的启动方式,前台启动,仅指定数据目录,并且使用默认的271 ...
- 无线路由器dBi越大越好吗?
无线路由器dBi越大越好吗? 目前,常见的无线路由器,通过查看参数可知,大多为3dBi.5dBi或7dBi,对于用户来说,这个数值到底是越大越好,还是越小越好呢?对于这个问题,其实通过下面这张天线增益 ...