smartchart/ChartResource/常用option.js
2020-12-03 13:35:00 +08:00

334 lines
9.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var dataset = __dataset__; //传入dataset
//print(dataset) //打印数据
var title = dataset[0][0]; //标题一般取第一个字段的名称
dataset = ds_transform(dataset); //可选, 当需要行列互转时
legend_label = ds_rowname(dataset); //可选, 自动获取legend
xlabel = dataset[0].slice(1); //x轴的标签列
dataset = ds_createMap(dataset); //转化成KV格式
//自动series,处理字典
var series =[];
for (var i=0;i<legend_label.length;i++){
series.push({type:'bar',data:dataset[legend_label[i]]});
}
/*
//自动series,处理数组
var series =[];
for (var i=1;i<dataset[0].length;i++){
series.push({type: 'line'})
}
*/
var option__name__ = {
//指定背景颜色
backgroundColor: '#3bd482',
//指定图列的顺序颜色
color : ['#b3c7bc','#cdd6bc','#d4713b'],
//标题,每个图表最多仅有一个标题控件
title: {
text: "更多配置说明",//图的标题
link: "https://www.echartsjs.com/zh/option.html",//主标题文本超链接
subtext: "", //副标题文本,
sublink: "",//副标题文本超链接
x: "", //水平坐标默认为左侧center|left|right| {number}px)
y: "", //top|bottom|center|{number}y坐标单位px
//字体格式
textStyle: {
align: 'center',
color: '#fff',
fontSize: 20,
},
},
tooltip: {//提示框,鼠标悬浮交互时的信息提示
trigger: "axis",//触发类型默认item数据触发可选为item|axis
formatter: '{a} <br/>{b} : {c}',
//formatter: function(param) { console.log(param);return param[0].value},
//formatter: '{b}<br />{a0}: {c0}<br />{a1}: {c1}<br />{a2}: {c2}%',
//折线区域图、柱状条形图、K线图 : {a}(系列名称),{b}(类目值),{c}(数值), {d}(无)
//散点图(气泡)图 : {a}(系列名称),{b}(数据名称),{c}(数值数组), {d}(无)
//地图 : {a}(系列名称),{b}(区域名称),{c}(合并数值), {d}(无)
//饼图、仪表盘、漏斗图: {a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比)
//坐标轴指示器,坐标轴触发有效
axisPointer: {
type: "shadow",// 默认为直线,可选为:'line' | 'shadow'
label: {
show: true,
}
},
},
//图例,每个图表最多仅有一个图例
legend: {
show: true,
//水平安放位置默认为全图居中可选为center|left|right|{number}x坐标单位px
x: "center",
//垂直安放位置默认为全图顶端可选为top|bottom|center|{number}y坐标单位px
y: "top",
//legend的data: 用于设置图例data内的字符串数组需要与sereis数组内每一个series的name值对应
data: ['销量', '人员'],
//字体格式
textStyle: {
align: 'center',
color: '#fff',
fontSize: 20,
},
//图标样式'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
icon: "diamond",
//选择模式,默认开启图例选择,false 关闭,设成 'single' 或者 'multiple'使用单选或者多选模式
selectedMode:true,
//选中状态
selected: {
// 选中'系列1'
'销量': true,
// 不选中'系列2'
'人员': false
},
},
//x轴,横坐标
xAxis: {
//x轴的标签
data: ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"],
//显示策略可选为true显示 | false隐藏默认值为true
show: true,
type: 'category',//坐标轴类型横轴默认为类目型category
//x轴的标签格式
axisLabel: {
show: true,
textStyle: {
color: "#ebf8ac", //X轴文字颜色
},
//formatter: function(name) { return name;},
},
//x轴的轴线格式
axisLine: {
show: true, //是否隐藏X轴轴线
lineStyle: {
color: '#01FCE3',
}
},
//x轴的刻度格式
axisTick: {
show: true, //是否隐藏X轴刻度
},
},
//纵坐标
yAxis: {
show: true,
//坐标轴类型纵轴默认为数值型value
type: 'value',
//分隔区域,默认不显示
splitArea: { show: true, },
//分隔线
splitLine: { show: true, },
//指定刻度范围
min: 0,
max: 50,
interval:10,
splitNumber: 8, //坐标轴的分割段数预估
//标签轴线等与x轴的方法一致
},
/* //多坐标的写法
yAxis:[{
type: 'value',
name:'AAA',
position:'left',
axisLabel:{
//坐标文字
textStyle: {
color: function (value, index) {
return value >= 90 ? 'green' : 'red';
}
},
formatter:function (value, index) {
return value/10000 + '万';
},
}
},
{
type: 'value',
name:'差异',
position : 'right',
},
],
*/
//系列
series: [
{
name: '销量',
type: 'bar',
//barWidth: 15,//宽度
barGap:'30%', //间距
data: [5, 20, 36, 10, 10, 20],
label: {
show: true, //是否显示数值
//position: [10, 10], //位置绝对的像素值
position: ['50%', '50%'], //相对的百分比,'top','bottom','inside'
rotate:-36, //角度
formatter: '{b}:{c}' //自定义数据
},
//显示样式
itemStyle: {
color: "#058cff",
//渐变色设定
normal: {
color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
offset: 0,
color: "#00FFE3"
},
{
offset: 1,
color: "#4693EC"
}
])
},
},
//系列外框线格式
lineStyle: {
color: "#058cff"
},
//系列填充格式
areaStyle:{
color: "rgba(5,140,255, 0.2)"
},
//折线设定,所有标记样式如下
//'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow', 'none'
smooth: true, //平滑曲线显示
showAllSymbol: true, //显示所有图形。
symbol: "circle", //标记的图形为实心圆
symbolSize: 10, //标记的大小
//标记点
markPoint : {
data : [
{type : 'max', name: '最大值'},
{type : 'min', name: '最小值'},
{name: '坐标',coord: [10, 20]},
{name: '屏幕坐标',x:100,y:200},
],
//标记
symbol:'pin',
symbolSize:50,
symbolRotate:-30,
//通用格式如上的label
label:{
show:true,
},
},
//标记线
markLine : {
data : [
{type : 'average', name: '平均值'},
{name : '1000', yAxis : 24},
]
},
},
/* //高级series设定的方法
{
name: legend_label[2],
data: dataset[legend_label[2]],
type: 'line',
yAxisIndex:1, //所在坐标轴,0为默认
label:{
show:true,
formatter:function(param) {
if (param.value===0) {return '';} else
{return param.value;}
}
}
},
*/
],
//直角坐标系内绘图网格
grid: {
left: '3%',
right: '4%',
bottom: '10%',
top: '15%',
containLabel: true //false防止标签溢出容器
},
/*
//视觉映射组件
visualMap: {
min: 0,
max: 100,
// 两个手柄对应的数值是 4 和 15
range: [4, 100],
calculable:true, //是否显示手柄
itemWidth:20,
itemHeight:140,
text:['最大值','最小值'],
//dimension:1, //指定用数据哪个维度,映射到视觉元素上
seriesIndex:0, //指用那个系列
hoverLink:true, //鼠标位置对应的数值图表中对应的图形元素高亮
// 表示目标系列的视觉样式 和 visualMap-continuous 共有的视觉样式。
inRange: {
color: ['#121122', 'rgba(3,4,5,0.4)', 'red'],
symbolSize: [4, 100]
},
// 表示 visualMap-continuous本身的视觉样式会覆盖共有的视觉样式。
// 比如symbolSize 覆盖成为 [30, 100],而 color 不变。
controller: {
inRange: {
symbolSize: [30, 100]
}
}
},
*/
//工具栏
toolbox: {
//显示策略可选为true显示 | false隐藏默认值为false
show: true,
//工具箱自定义功能回调处理
feature: {
//辅助线标志
mark: { show: true },
//dataZoom框选区域缩放自动与存在的dataZoom控件同步分别是启用缩放后退
dataZoom: {
show: true,
title: {
dataZoom: "区域缩放",
dataZoomReset: "区域缩放后退"
}
},
//数据视图,可设置更多属性,readOnly 默认数据视图为只读(即值为true)可指定readOnly为false打开编辑功能
dataView: { show: true, readOnly: true },
//magicType动态类型切换支持直角系下的折线图、柱状图、堆积、平铺转换
magicType: { show: true, type: ["line", "bar"] },
//restore还原复位原始图表
restore: { show: true },
//saveAsImage保存图片IE8-不支持),图片类型默认为png
saveAsImage: { show: true }
}
},
};
charts.push(myChart__name__);