您现在的位置是:首页 > 数码 > 

echarts自定义气泡图

2025-07-27 02:24:08
echarts自定义气泡图 拿到的需求是实现自定义x、y、size、color的气泡图,color按值以阶排布(提需求的是我女朋友,咱也不敢问,还得加班干你说气人不~),分析完需求后我决定学习下echarts的实现,代码如下: html: <!DOCTYPE h

echarts自定义气泡图

拿到的需求是实现自定义x、y、size、color的气泡图,color按值以阶排布(提需求的是我女朋友,咱也不敢问,还得加班干你说气人不~),分析完需求后我决定学习下echarts的实现,代码如下:
html:

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<title>KEGG</title>
<style>
body {padding: 0px;margin: 0px;border: 0px;
}
</style>
<script type=text/javascript src=jquery-.2.js></script>
<script type=text/javascript src=js></script>
<script type=text/javascript src=myScript.js></script>
</head>
<body>
<div style=width:95%;margin:20px auto;><div style=width:95%;margin:0px 0px 50px 0px; align=center><input type=file id=dataFile><button type=button onclick=getData()>生成图表</button></div><div id=chartDiv style=width:95%;height:600px;></div>
</div>
</body>
</html>

js:

function getData() {var data = new Array();var file = $(#dataFile)[0].files[0];var reader = new FileReader(); = function() {var row = this.result.split(\r\n);for(var i in row) {if(i!=0) {data[i-1] = new Array();var cell = row[i].split(,);for(var j in cell) {data[i-1][j] = cell[j];	}}}initChart(data);}reader.readAsText(file);
}
function initChart(data) {var color = new Array();for(var i in data) {color[i] = data[i][];}var max = apply(null,color);var min = apply(null,color);var myChart = echarts.init(document.getElementById(	chartDiv	));var option = {title: {text: 	KEGG	,x: 	center	},tooltip: {formatter: function(params) {return params.value[1] :<br>params.value[0];}},dataRange: {x: 	right	,y: 	center	,min: min,max: max,color:[	red	,	blue	],calculable: true,formatter: function(value) {return value;}},xAxis: {type: 	value	},yAxis: {type: 	category	},series: [{name: 	KEGG	,type: 	scatter	,symbolSize: function(value) {return value[2]/5;},data: data}]};myChart.setOption(option);
}

效果图:

这里的阶排布我本来是自己写的算法来实现的,然后在series自定义显示,后来觉得echarts的dataRange或visualMap挺好用,就改了。
自定义阶显示:

itemStyle: {normal: {color: function(params) {return getColor(min,max,params.value[4]);}}}function getColor(min,max,n) {var a = (n*255)/(max-min);var r = 0;var g = 0;var b = 0;if(n==min) {b = 255;} else if(n==max) {r = 255;} else {b = 255-a;r = a;}r = parseInt(r);g = parseInt(g);b = parseInt(b);return rgbaToHex(rgb(r,g,b));
}
function rgbaToHex(color) {var values = color.replace(/rgba?\(/,		).replace(/\)/,		).replace(/[\s]/g,		).split(	,	);var a = parseFloat(values[]||1);var r = Math.floor(a*parseInt(values[0])(1-a)*255);var g = Math.floor(a*parseInt(values[1])(1-a)*255);var b = Math.floor(a*parseInt(values[2])(1-a)*255);return #(0(16)).slice(-2)(0(16)).slice(-2)(0(16)).slice(-2);
}

演示链接

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/shuma/857143.html

相关标签:无
上传时间: 2024-02-10 08:09:57
留言与评论(共有 16 条评论)
本站网友 北京限价商品房
18分钟前 发表
center }
本站网友 骨胶原
15分钟前 发表
KEGG
本站网友 玉米须的功效
17分钟前 发表
0px;margin
本站网友 肺吸虫
11分钟前 发表
color);var myChart = echarts.init(document.getElementById( chartDiv ));var option = {title
本站网友 鲁信长春花园二手房
28分钟前 发表
).replace(/[\s]/g
本站网友 响水房屋出租
0秒前 发表
color的气泡图,color按值以阶排布(提需求的是我女朋友,咱也不敢问,还得加班干你说气人不~),分析完需求后我决定学习下echarts的实现,代码如下: html: <!DOCTYPE html> <html> <head> <meta charset=utf-8> <title>KEGG</title> <style> body {padding
本站网友 妙桃琴面假体隆胸
5分钟前 发表
max
本站网友 expander
19分钟前 发表
自定义阶显示: itemStyle
本站网友 中国联合网络通信有限公司
7分钟前 发表
).replace(/\)/
本站网友 李忠秀
2分钟前 发表
{color
本站网友 风生
17分钟前 发表
min
本站网友 肏女人
12分钟前 发表
).replace(/[\s]/g
本站网友 保利麓谷林语
30分钟前 发表
g
本站网友 hs小游戏
21分钟前 发表
95%;height
本站网友 郝琳
3分钟前 发表
echarts自定义气泡图 拿到的需求是实现自定义x