You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
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;
|