606 lines
						
					
					
						
							13 KiB
						
					
					
				
			
		
		
	
	
							606 lines
						
					
					
						
							13 KiB
						
					
					
				| /* | |
|  * uCharts® | |
|  * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360)、Vue、Taro等支持canvas的框架平台 | |
|  * Copyright (c) 2021 QIUN®秋云 https://www.ucharts.cn All rights reserved. | |
|  * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) | |
|  * 复制使用请保留本段注释,感谢支持开源! | |
|  *  | |
|  * uCharts®官方网站 | |
|  * https://www.uCharts.cn | |
|  *  | |
|  * 开源地址: | |
|  * https://gitee.com/uCharts/uCharts | |
|  *  | |
|  * uni-app插件市场地址: | |
|  * http://ext.dcloud.net.cn/plugin?id=271 | |
|  *  | |
|  */ | |
|  | |
| // 主题颜色配置:如每个图表类型需要不同主题,请在对应图表类型上更改color属性 | |
| const color = ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc']; | |
|  | |
| //事件转换函数,主要用作格式化x轴为时间轴,根据需求自行修改 | |
| const formatDateTime = (timeStamp, returnType)=>{ | |
|   var date = new Date(); | |
|   date.setTime(timeStamp * 1000); | |
|   var y = date.getFullYear(); | |
|   var m = date.getMonth() + 1; | |
|   m = m < 10 ? ('0' + m) : m; | |
|   var d = date.getDate(); | |
|   d = d < 10 ? ('0' + d) : d; | |
|   var h = date.getHours(); | |
|   h = h < 10 ? ('0' + h) : h; | |
|   var minute = date.getMinutes(); | |
|   var second = date.getSeconds(); | |
|   minute = minute < 10 ? ('0' + minute) : minute; | |
|   second = second < 10 ? ('0' + second) : second; | |
|   if(returnType == 'full'){return y + '-' + m + '-' + d + ' '+ h +':' + minute + ':' + second;} | |
|   if(returnType == 'y-m-d'){return y + '-' + m + '-' + d;} | |
|   if(returnType == 'h:m'){return  h +':' + minute;} | |
|   if(returnType == 'h:m:s'){return  h +':' + minute +':' + second;} | |
|   return [y, m, d, h, minute, second]; | |
| } | |
|  | |
| const cfu = { | |
|   //demotype为自定义图表类型,一般不需要自定义图表类型,只需要改根节点上对应的类型即可 | |
| 	"type":["pie","ring","rose","word","funnel","map","arcbar","line","column","mount","bar","area","radar","gauge","candle","mix","tline","tarea","scatter","bubble","demotype"], | |
| 	"range":["饼状图","圆环图","玫瑰图","词云图","漏斗图","地图","圆弧进度条","折线图","柱状图","山峰图","条状图","区域图","雷达图","仪表盘","K线图","混合图","时间轴折线","时间轴区域","散点图","气泡图","自定义类型"], | |
|   //增加自定义图表类型,如果需要categories,请在这里加入您的图表类型,例如最后的"demotype" | |
|   //自定义类型时需要注意"tline","tarea","scatter","bubble"等时间轴(矢量x轴)类图表,没有categories,不需要加入categories | |
| 	"categories":["line","column","mount","bar","area","radar","gauge","candle","mix","demotype"], | |
|   //instance为实例变量承载属性,不要删除 | |
|   "instance":{}, | |
|   //option为opts及eopts承载属性,不要删除 | |
|   "option":{}, | |
|   //下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换 | |
|   "formatter":{ | |
|     "yAxisDemo1":function(val, index, opts){return val+'元'}, | |
|     "yAxisDemo2":function(val, index, opts){return val.toFixed(2)}, | |
|     "xAxisDemo1":function(val, index, opts){return val+'年';}, | |
|     "xAxisDemo2":function(val, index, opts){return formatDateTime(val,'h:m')}, | |
|     "seriesDemo1":function(val, index, series, opts){return val+'元'}, | |
|     "tooltipDemo1":function(item, category, index, opts){ | |
|       if(index==0){ | |
|       	return '随便用'+item.data+'年' | |
|       }else{ | |
|       	return '其他我没改'+item.data+'天' | |
|       } | |
|     }, | |
|     "pieDemo":function(val, index, series, opts){ | |
|       if(index !== undefined){ | |
|         return series[index].name+':'+series[index].data+'元' | |
|       } | |
|     }, | |
|   }, | |
|   //这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type="demotype" 后,组件会调用这个花括号里的option,如果组件上还存在opts参数,会将demotype与opts中option合并后渲染图表。 | |
|   "demotype":{ | |
|     //我这里把曲线图当做了自定义图表类型,您可以根据需要随意指定类型或配置 | |
|     "type": "line", | |
|     "color": color, | |
|     "padding": [15,10,0,15], | |
|     "xAxis": { | |
|       "disableGrid": true, | |
|     }, | |
|     "yAxis": { | |
|       "gridType": "dash", | |
|       "dashLength": 2, | |
|     }, | |
|     "legend": { | |
|     }, | |
|     "extra": { | |
|     	"line": { | |
|     		"type": "curve", | |
|     		"width": 2 | |
|     	}, | |
|     } | |
|   }, | |
|   //下面是自定义配置,请添加项目所需的通用配置 | |
| 	"pie":{ | |
| 		"type": "pie", | |
|     "color": color, | |
| 		"padding": [5,5,5,5], | |
| 		"extra": { | |
| 			"pie": { | |
| 				"activeOpacity": 0.5, | |
| 				"activeRadius": 10, | |
| 				"offsetAngle": 0, | |
| 				"labelWidth": 15, | |
| 				"border": true, | |
| 				"borderWidth": 3, | |
| 				"borderColor": "#FFFFFF" | |
| 			}, | |
| 		} | |
| 	}, | |
| 	"ring":{ | |
| 		"type": "ring", | |
|     "color": color, | |
| 		"padding": [5,5,5,5], | |
| 		"rotate": false, | |
| 		"dataLabel": true, | |
| 		"legend": { | |
| 			"show": true, | |
| 			"position": "right", | |
|       "lineHeight": 25, | |
| 		}, | |
| 		"title": { | |
| 			"name": "收益率", | |
| 			"fontSize": 15, | |
| 			"color": "#666666" | |
| 		}, | |
| 		"subtitle": { | |
| 			"name": "70%", | |
| 			"fontSize": 25, | |
| 			"color": "#7cb5ec" | |
| 		}, | |
| 		"extra": { | |
| 			"ring": { | |
| 				"ringWidth":30, | |
| 				"activeOpacity": 0.5, | |
| 				"activeRadius": 10, | |
| 				"offsetAngle": 0, | |
| 				"labelWidth": 15, | |
| 				"border": true, | |
| 				"borderWidth": 3, | |
| 				"borderColor": "#FFFFFF" | |
| 			}, | |
| 		}, | |
| 	}, | |
| 	"rose":{ | |
| 		"type": "rose", | |
|     "color": color, | |
| 		"padding": [5,5,5,5], | |
| 		"legend": { | |
| 			"show": true, | |
| 			"position": "left", | |
|       "lineHeight": 25, | |
| 		}, | |
| 		"extra": { | |
| 			"rose": { | |
| 				"type": "area", | |
| 				"minRadius": 50, | |
| 				"activeOpacity": 0.5, | |
| 				"activeRadius": 10, | |
| 				"offsetAngle": 0, | |
| 				"labelWidth": 15, | |
| 				"border": false, | |
| 				"borderWidth": 2, | |
| 				"borderColor": "#FFFFFF" | |
| 			}, | |
| 		} | |
| 	}, | |
| 	"word":{ | |
| 		"type": "word", | |
|     "color": color, | |
| 		"extra": { | |
| 			"word": { | |
| 				"type": "normal", | |
| 				"autoColors": false | |
| 			} | |
| 		} | |
| 	}, | |
| 	"funnel":{ | |
| 		"type": "funnel", | |
|     "color": color, | |
| 		"padding": [15,15,0,15], | |
| 		"extra": { | |
| 			"funnel": { | |
| 				"activeOpacity": 0.3, | |
| 				"activeWidth": 10, | |
| 				"border": true, | |
| 				"borderWidth": 2, | |
| 				"borderColor": "#FFFFFF", | |
| 				"fillOpacity": 1, | |
| 				"labelAlign": "right" | |
| 			}, | |
| 		} | |
| 	}, | |
| 	"map":{ | |
| 		"type": "map", | |
|     "color": color, | |
| 		"padding": [0,0,0,0], | |
|     "dataLabel": true, | |
| 		"extra": { | |
| 			"map": { | |
| 				"border": true, | |
| 				"borderWidth": 1, | |
| 				"borderColor": "#666666", | |
| 				"fillOpacity": 0.6, | |
| 				"activeBorderColor": "#F04864", | |
| 				"activeFillColor": "#FACC14", | |
| 				"activeFillOpacity": 1 | |
| 			}, | |
| 		} | |
| 	}, | |
| 	"arcbar":{ | |
| 		"type": "arcbar", | |
|     "color": color, | |
| 		"title": { | |
| 			"name": "百分比", | |
| 			"fontSize": 25, | |
| 			"color": "#00FF00" | |
| 		}, | |
| 		"subtitle": { | |
| 			"name": "默认标题", | |
| 			"fontSize": 15, | |
| 			"color": "#666666" | |
| 		}, | |
| 		"extra": { | |
| 			"arcbar": { | |
| 				"type": "default", | |
| 				"width": 12, | |
| 				"backgroundColor": "#E9E9E9", | |
| 				"startAngle": 0.75, | |
| 				"endAngle": 0.25, | |
| 				"gap": 2 | |
| 			} | |
| 		} | |
| 	}, | |
| 	"line":{ | |
| 		"type": "line", | |
|     "color": color, | |
| 		"padding": [15,10,0,15], | |
| 		"xAxis": { | |
|       "disableGrid": true, | |
| 		}, | |
| 		"yAxis": { | |
|       "gridType": "dash", | |
|       "dashLength": 2, | |
| 		}, | |
| 		"legend": { | |
| 		}, | |
| 		"extra": { | |
| 			"line": { | |
| 				"type": "straight", | |
| 				"width": 2, | |
|         "activeType": "hollow" | |
| 			}, | |
| 		} | |
| 	}, | |
|   "tline":{ | |
|   	"type": "line", | |
|     "color": color, | |
|   	"padding": [15,10,0,15], | |
|   	"xAxis": { | |
|       "disableGrid": false, | |
|       "boundaryGap":"justify", | |
|   	}, | |
|   	"yAxis": { | |
|       "gridType": "dash", | |
|       "dashLength": 2, | |
|       "data":[ | |
|         { | |
|           "min":0, | |
|           "max":80 | |
|         } | |
|       ] | |
|   	}, | |
|   	"legend": { | |
|   	}, | |
|   	"extra": { | |
|   		"line": { | |
|   			"type": "curve", | |
|   			"width": 2, | |
|         "activeType": "hollow" | |
|   		}, | |
|   	} | |
|   }, | |
|   "tarea":{ | |
|   	"type": "area", | |
|     "color": color, | |
|   	"padding": [15,10,0,15], | |
|   	"xAxis": { | |
|       "disableGrid": true, | |
|       "boundaryGap":"justify", | |
|   	}, | |
|   	"yAxis": { | |
|       "gridType": "dash", | |
|       "dashLength": 2, | |
|       "data":[ | |
|         { | |
|           "min":0, | |
|           "max":80 | |
|         } | |
|       ] | |
|   	}, | |
|   	"legend": { | |
|   	}, | |
|   	"extra": { | |
|   		"area": { | |
|   			"type": "curve", | |
|   			"opacity": 0.2, | |
|   			"addLine": true, | |
|   			"width": 2, | |
|   			"gradient": true, | |
|         "activeType": "hollow" | |
|   		}, | |
|   	} | |
|   }, | |
| 	"column":{ | |
| 		"type": "column", | |
|     "color": color, | |
| 		"padding": [15,15,0,5], | |
| 		"xAxis": { | |
|       "disableGrid": true, | |
| 		}, | |
| 		"yAxis": { | |
|       "data":[{"min":0}] | |
| 		}, | |
| 		"legend": { | |
| 		}, | |
| 		"extra": { | |
| 			"column": { | |
| 				"type": "group", | |
| 				"width": 30, | |
| 				"activeBgColor": "#000000", | |
| 				"activeBgOpacity": 0.08 | |
| 			}, | |
| 		} | |
| 	}, | |
|   "mount":{ | |
|   	"type": "mount", | |
|     "color": color, | |
|   	"padding": [15,15,0,5], | |
|   	"xAxis": { | |
|       "disableGrid": true, | |
|   	}, | |
|   	"yAxis": { | |
|       "data":[{"min":0}] | |
|   	}, | |
|   	"legend": { | |
|   	}, | |
|   	"extra": { | |
|   		"mount": { | |
|   			"type": "mount", | |
|   			"widthRatio": 1.5, | |
|   		}, | |
|   	} | |
|   }, | |
|   "bar":{ | |
|   	"type": "bar", | |
|     "color": color, | |
|   	"padding": [15,30,0,5], | |
|   	"xAxis": { | |
|       "boundaryGap":"justify", | |
|       "disableGrid":false, | |
|       "min":0, | |
|       "axisLine":false | |
|   	}, | |
|   	"yAxis": { | |
|   	}, | |
|   	"legend": { | |
|   	}, | |
|   	"extra": { | |
|   		"bar": { | |
|   			"type": "group", | |
|   			"width": 30, | |
|   			"meterBorde": 1, | |
|   			"meterFillColor": "#FFFFFF", | |
|   			"activeBgColor": "#000000", | |
|   			"activeBgOpacity": 0.08 | |
|   		}, | |
|   	} | |
|   }, | |
| 	"area":{ | |
| 		"type": "area", | |
| 		"color": color, | |
| 		"padding": [15,15,0,15], | |
| 		"xAxis": { | |
|       "disableGrid": true, | |
| 		}, | |
| 		"yAxis": { | |
|       "gridType": "dash", | |
|       "dashLength": 2, | |
| 		}, | |
| 		"legend": { | |
| 		}, | |
| 		"extra": { | |
| 			"area": { | |
| 				"type": "straight", | |
| 				"opacity": 0.2, | |
| 				"addLine": true, | |
| 				"width": 2, | |
| 				"gradient": false, | |
|         "activeType": "hollow" | |
| 			}, | |
| 		} | |
| 	}, | |
| 	"radar":{ | |
| 		"type": "radar", | |
| 		"color": color, | |
| 		"padding": [5,5,5,5], | |
|     "dataLabel": false, | |
| 		"legend": { | |
| 			"show": true, | |
| 			"position": "right", | |
|       "lineHeight": 25, | |
| 		}, | |
| 		"extra": { | |
| 			"radar": { | |
| 				"gridType": "radar", | |
| 				"gridColor": "#CCCCCC", | |
| 				"gridCount": 3, | |
| 				"opacity": 0.2, | |
| 				"max": 200, | |
| 				"labelShow": true | |
| 			}, | |
| 		} | |
| 	}, | |
| 	"gauge":{ | |
| 		"type": "gauge", | |
| 		"color": color, | |
| 		"title": { | |
| 			"name": "66Km/H", | |
| 			"fontSize": 25, | |
| 			"color": "#2fc25b", | |
| 			"offsetY": 50 | |
| 		}, | |
| 		"subtitle": { | |
| 			"name": "实时速度", | |
| 			"fontSize": 15, | |
| 			"color": "#1890ff", | |
| 			"offsetY": -50 | |
| 		}, | |
| 		"extra": { | |
| 			"gauge": { | |
| 				"type": "default", | |
| 				"width": 30, | |
| 				"labelColor": "#666666", | |
| 				"startAngle": 0.75, | |
| 				"endAngle": 0.25, | |
| 				"startNumber": 0, | |
| 				"endNumber": 100, | |
| 				"labelFormat": "", | |
| 				"splitLine": { | |
| 					"fixRadius": 0, | |
| 					"splitNumber": 10, | |
| 					"width": 30, | |
| 					"color": "#FFFFFF", | |
| 					"childNumber": 5, | |
| 					"childWidth": 12 | |
| 				}, | |
| 				"pointer": { | |
| 					"width": 24, | |
| 					"color": "auto" | |
| 				} | |
| 			} | |
| 		} | |
| 	}, | |
| 	"candle":{ | |
| 		"type": "candle", | |
| 		"color": color, | |
| 		"padding": [15,15,0,15], | |
| 		"enableScroll": true, | |
| 		"enableMarkLine": true, | |
| 		"dataLabel": false, | |
| 		"xAxis": { | |
| 			"labelCount": 4, | |
| 			"itemCount": 40, | |
| 			"disableGrid": true, | |
| 			"gridColor": "#CCCCCC", | |
| 			"gridType": "solid", | |
| 			"dashLength": 4, | |
| 			"scrollShow": true, | |
| 			"scrollAlign": "left", | |
| 			"scrollColor": "#A6A6A6", | |
| 			"scrollBackgroundColor": "#EFEBEF" | |
| 		}, | |
| 		"yAxis": { | |
| 		}, | |
| 		"legend": { | |
| 		}, | |
| 		"extra": { | |
| 			"candle": { | |
| 				"color": { | |
| 					"upLine": "#f04864", | |
| 					"upFill": "#f04864", | |
| 					"downLine": "#2fc25b", | |
| 					"downFill": "#2fc25b" | |
| 				}, | |
| 				"average": { | |
| 					"show": true, | |
| 					"name": ["MA5","MA10","MA30"], | |
| 					"day": [5,10,20], | |
| 					"color": ["#1890ff","#2fc25b","#facc14"] | |
| 				} | |
| 			}, | |
| 			"markLine": { | |
| 				"type": "dash", | |
| 				"dashLength": 5, | |
| 				"data": [ | |
| 					{ | |
| 						"value": 2150, | |
| 						"lineColor": "#f04864", | |
| 						"showLabel": true | |
| 					}, | |
| 					{ | |
| 						"value": 2350, | |
| 						"lineColor": "#f04864", | |
| 						"showLabel": true | |
| 					} | |
| 				] | |
| 			} | |
| 		} | |
| 	}, | |
| 	"mix":{ | |
| 		"type": "mix", | |
| 		"color": color, | |
| 		"padding": [15,15,0,15], | |
| 		"xAxis": { | |
|       "disableGrid": true, | |
| 		}, | |
| 		"yAxis": { | |
| 			"disabled": false, | |
| 			"disableGrid": false, | |
| 			"splitNumber": 5, | |
| 			"gridType": "dash", | |
| 			"dashLength": 4, | |
| 			"gridColor": "#CCCCCC", | |
| 			"padding": 10, | |
| 			"showTitle": true, | |
| 			"data": [] | |
| 		}, | |
| 		"legend": { | |
| 		}, | |
| 		"extra": { | |
| 			"mix": { | |
| 				"column": { | |
| 					"width": 20 | |
| 				} | |
| 			}, | |
| 		} | |
| 	}, | |
| 	"scatter":{ | |
| 		"type": "scatter", | |
| 		"color":color, | |
| 		"padding":[15,15,0,15], | |
|     "dataLabel":false, | |
|     "xAxis": { | |
|       "disableGrid": false, | |
|       "gridType":"dash", | |
|       "splitNumber":5, | |
|       "boundaryGap":"justify", | |
|       "min":0 | |
|     }, | |
|     "yAxis": { | |
|       "disableGrid": false, | |
|       "gridType":"dash", | |
|     }, | |
|     "legend": { | |
|     }, | |
|     "extra": { | |
|     	"scatter": { | |
|     	}, | |
|     } | |
| 	}, | |
| 	"bubble":{ | |
| 		"type": "bubble", | |
| 		"color":color, | |
| 		"padding":[15,15,0,15], | |
|     "xAxis": { | |
|       "disableGrid": false, | |
|       "gridType":"dash", | |
|       "splitNumber":5, | |
|       "boundaryGap":"justify", | |
|       "min":0, | |
|       "max":250 | |
|     }, | |
|     "yAxis": { | |
|       "disableGrid": false, | |
|       "gridType":"dash", | |
|       "data":[{ | |
|         "min":0, | |
|         "max":150 | |
|       }] | |
|     }, | |
|     "legend": { | |
|     }, | |
|     "extra": { | |
|     	"bubble": { | |
|         "border":2, | |
|         "opacity": 0.5, | |
|     	}, | |
|     } | |
| 	} | |
| } | |
|  | |
| export default cfu; |