blob: de575574a999d76285921b2c2066b74566a78ceb [file] [log] [blame]
<html>
<head>
<meta charset="utf-8">
<script src="esl.js"></script>
<script src="config.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" href="reset.css" />
<script src="lib/testHelper.js"></script>
<script src="tooltipTestHelper.js"></script>
</head>
<body>
<style>
h1 {
line-height: 60px;
height: 60px;
background: #ddd;
text-align: center;
font-weight: bold;
font-size: 14px;
}
.chart {
height: 350px;
}
</style>
<h1>category | axisPointer label should not show | legend tooltip | axis name tooltip on 1st grid</h1>
<div class="chart" id="category"></div>
<h1>global-axis-pointer-style | axisPointer label should not show</h1>
<div class="chart" id="global-axis-pointer-style"></div>
<h1>cross compatible | tooltip.trigger: 'item' | yAxis pointer precision 3 | crossStyle set | xAxisPointer label show</h1>
<div class="chart" id="cross-item"></div>
<h1>cross compatible | tooltip.trigger: 'axis' | xAxisPointer label not show</h1>
<div class="chart" id="cross-axis"></div>
<h1>tooltip.axisPointer.axis is 'y' | auto snap | auto animation when snap</h1>
<div class="chart" id="tooltip.axisPointer.axis"></div>
<h1>showDelay: 50 | enterable | dynamic callback</h1>
<div class="chart" id="main"></div>
<h1>set position</h1>
<div class="chart" id="position"></div>
<h1>triggerOn click</h1>
<div class="chart" id="click"></div>
<!--<h1>alwaysShowContent (check when hover on the last one, the content should not be the previous one)</h1>-->
<!--<div class="chart" id="alwaysShowContent"></div>-->
<script>
require([
'echarts',
'echarts/chart/line',
'echarts/component/legend',
'echarts/component/grid',
'echarts/component/tooltip',
'zrender/vml/vml'
], function (echarts) {
var option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'line'
}
}
};
var baseTop = 90;
var height = 150;
var gap = 50;
makeCategoryGrid(option, {
grid: {top: baseTop, height: height},
yAxis: {
name: 'axisPointer: line\nno item trigger',
tooltip: {show: true}
},
xAxis: {
tooltip: {show: true}
}
});
baseTop += height + gap;
makeCategoryGrid(option, {
grid: {top: baseTop, height: height},
yAxis: {name: 'axisPointer: shadow\nno item trigger'},
xAxis: {
axisPointer: {
type: 'shadow'
}
}
});
baseTop += height + gap;
makeCategoryGrid(option, {
grid: {top: baseTop, height: height},
yAxis: {name: 'trigger: item \n(only the 1st series item trigger)'},
xAxis: {
axisPointer: {show: false}
},
series: [
{tooltip: {trigger: 'item'}}
]
});
baseTop += height + gap;
makeCategoryGrid(option, {
grid: {top: baseTop, height: height},
yAxis: {name: 'both axis and item trigger\n(the 1st series can item trigger)'},
xAxis: {
axisPointer: {type: 'shadow'}
},
series: [
{tooltip: {trigger: 'item'}}
]
});
baseTop += height + gap;
var dom = document.getElementById('category');
if (dom) {
dom.style.height = baseTop + 'px';
var chart = echarts.init(dom);
chart.setOption(option);
}
})
</script>
<script>
require([
'echarts',
'echarts/chart/line',
'echarts/component/legend',
'echarts/component/grid',
'echarts/component/tooltip',
'zrender/vml/vml'
], function (echarts) {
var option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
axisPointer: {
shadowStyle: {
color: 'red'
}
}
};
var baseTop = 90;
var height = 150;
var gap = 50;
makeCategoryGrid(option, {
grid: {top: baseTop, height: height},
yAxis: {name: 'should be red shadow'}
});
baseTop += height + gap;
var dom = document.getElementById('global-axis-pointer-style');
if (dom) {
dom.style.height = baseTop + 'px';
var chart = echarts.init(dom);
chart.setOption(option);
}
})
</script>
<script>
require([
'echarts',
'echarts/chart/line',
'echarts/component/legend',
'echarts/component/grid',
'echarts/component/tooltip',
'zrender/vml/vml'
], function (echarts) {
var option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross'
}
}
};
var baseTop = 90;
var height = 150;
var gap = 50;
makeCategoryGrid(option, {
grid: {top: baseTop, height: height}
});
baseTop += height + gap;
var dom = document.getElementById('cross-axis');
if (dom) {
dom.style.height = baseTop + 'px';
var chart = echarts.init(dom);
chart.setOption(option);
}
})
</script>
<script>
require([
'echarts',
'echarts/chart/line',
'echarts/component/legend',
'echarts/component/grid',
'echarts/component/tooltip',
'zrender/vml/vml'
], function (echarts) {
var option = {
tooltip: {
trigger: 'item',
axisPointer: {
type: 'cross',
crossStyle: {
color: 'blue',
shadowBlur: 4,
shadowColor: '#000',
shadowOffsetX: 3,
shadowOffsetY: 3,
textStyle: {
color: 'yellow',
fontSize: 16
}
}
}
}
};
var baseTop = 90;
var height = 150;
var gap = 50;
makeCategoryGrid(option, {
grid: {top: baseTop, height: height},
yAxis: {
axisPointer: {
label: {
precision: 3
}
}
}
});
baseTop += height + gap;
var dom = document.getElementById('cross-item');
if (dom) {
dom.style.height = baseTop + 'px';
var chart = echarts.init(dom);
chart.setOption(option);
}
})
</script>
<script>
require([
'echarts',
'echarts/chart/line',
'echarts/component/legend',
'echarts/component/grid',
'echarts/component/tooltip',
'zrender/vml/vml'
], function (echarts) {
var option = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'cross',
axis: 'y'
}
}
};
var baseTop = 90;
var height = 150;
var gap = 50;
makeCategoryGrid(option, {
grid: {top: baseTop, height: height}
});
baseTop += height + gap;
var dom = document.getElementById('tooltip.axisPointer.axis');
if (dom) {
dom.style.height = baseTop + 'px';
var chart = echarts.init(dom);
chart.setOption(option);
}
})
</script>
<script>
require([
'echarts',
'echarts/chart/bar',
'echarts/component/legend',
'echarts/component/grid',
'echarts/component/tooltip'
], function (echarts) {
var dom = document.getElementById('main');
if (!dom) {
return;
}
var chart = echarts.init(dom);
var xAxisData = [];
var data1 = [];
var data2 = [];
var data3 = [];
var data4 = [];
for (var i = 0; i < 10; i++) {
xAxisData.push('类目' + i);
data1.push((Math.random() * 5).toFixed(2));
data2.push(-Math.random().toFixed(2));
data3.push((Math.random() + 0.5).toFixed(2));
data4.push((Math.random() + 0.3).toFixed(2));
}
chart.setOption({
legend: {
data: ['坐标轴触发1', '坐标轴触发2', '数据项触发', '不显示的数据项触发'],
tooltip: {
show: true,
formatter: null
}
},
tooltip : { // Option config. Can be overwrited by series or data
trigger: 'axis',
//show: true, //default true
showDelay: 50,
hideDelay: 200,
transitionDuration:0.2,
backgroundColor : 'rgba(255,0,255,0.7)',
borderColor : '#f50',
borderRadius : 8,
borderWidth: 2,
enterable: true,
padding: 10, // [5, 10, 15, 20]
axisPointer: {
type: 'shadow'
},
position : function(p) {
// 位置回调
// console.log && console.log(p);
return [p[0] + 10, p[1] - 10];
},
textStyle : {
color: 'yellow',
decoration: 'none',
fontFamily: 'Verdana, sans-serif',
fontSize: 15,
fontStyle: 'italic',
fontWeight: 'bold'
},
formatter: function (params,ticket,callback) {
if (params.componentType === 'legend') {
return params.name;
}
var res = 'Function formatter : <br/>' + params[0].name;
for (var i = 0, l = params.length; i < l; i++) {
res += '<br/>' + params[i].seriesName + ' : ' + params[i].value;
}
res += '<br /><a target="_blank" href="http://www.baidu.com">搜索</a>';
setTimeout(function (){
// 仅为了模拟异步回调
callback(ticket, res);
}, 1000);
return 'loading';
}
// ,formatter: "Template formatter: <br/>{b}<br/>{a}:{c}<br/>{a1}:{c1}"
},
toolbox: {
show : true,
feature : {
mark : {show: true},
dataView : {show: true, readOnly: false},
magicType : {show: true, type: ['line', 'bar', 'stack', 'tiled']},
restore : {show: true},
saveAsImage : {show: true}
}
},
calculable : true,
xAxis : {
data : ['周一','周二','周三','周四','周五','周六','周日']
},
yAxis : {
type : 'value'
},
series : [
{
name:'坐标轴触发1',
type:'bar',
data:[
{value:320, extra:'Hello~'},
332, 301, 334, 390, 330, 320
]
},
{
name:'坐标轴触发2',
type:'bar',
data:[862, 1018, 964, 1026, 1679, 1600, 157]
},
{
name:'数据项触发',
type:'bar',
tooltip : { // Series config.
trigger: 'item',
backgroundColor: 'black',
position : [0, 0],
formatter: 'Series formatter: <br/>{a}<br/>{b}:{c}'
},
stack: '数据项',
data:[
{
value: 120,
tooltip: '我是一个简单的字符串',
label: {
normal: {show: true, formatter: 'formatter is string', textStyle: {color: '#222'}}
}
}, 132,
{
value: 301,
itemStyle: {normal: {color: 'red'}},
tooltip : { // Data config.
backgroundColor: 'blue',
formatter: 'Data formatter: <br/>{a}<br/>{b}:{c}'
}
},
134, 90,
{
value: 230,
label: {
normal: {
show: true,
formatter: '我不显示 tooltip'
}
},
tooltip: {show: false}
},
210
]
},
{
name:'不显示的数据项触发',
type:'bar',
tooltip : {
show : false,
trigger: 'item'
},
stack: '数据项',
data:[150, 232, 201, 154, 190, 330, 410]
}
]
});
});
</script>
<script>
require([
'echarts',
'echarts/chart/pie',
'echarts/component/legend',
'echarts/component/grid',
'echarts/component/tooltip',
'zrender/vml/vml'
], function (echarts) {
var option = {
tooltip: {
},
series: {
name: '访问来源',
type: 'pie',
radius : 80,
tooltip: {
formatter: "{a} <br/>{b} : {c} ({d}%)"
},
data:[
{
value:335, name:'position: [300, 100]',
tooltip: {
position: [300, 100]
}
},
{
value:310, name:'position: function [p[0] + 10, p[1] - 50]',
tooltip: {
position : function(p) {
return [p[0] + 10, p[1] - 50];
}
}
},
{
value:234, name:'position: inside',
tooltip: {
position : 'inside'
}
},
{
value:135, name:'align: right; verticalAlign: bottom',
tooltip: {
align: 'right',
verticalAlign: 'bottom'
}
},
{
value:548, name:'position: [30, 140], verticalAlign: bottom',
tooltip: {
position: [30, 140],
verticalAlign: 'bottom'
}
}
],
itemStyle: {
emphasis: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
};
createChart('position', echarts, option, 500);
})
</script>
<script>
require([
'echarts',
'echarts/chart/line',
'echarts/component/legend',
'echarts/component/grid',
'echarts/component/tooltip',
'zrender/vml/vml'
], function (echarts) {
var option = {
tooltip: {
trigger: 'axis',
triggerOn: 'click',
axisPointer: {
type: 'cross'
}
}
};
var baseTop = 90;
var height = 150;
var gap = 50;
makeCategoryGrid(option, {
grid: {top: baseTop, height: height},
yAxis: {
name: 'click show tip',
tooltip: {
show: true
}
}
});
baseTop += height + gap;
createChart('click', echarts, option, baseTop);
})
</script>
<!--<script>
require([
'echarts',
'echarts/chart/line',
'echarts/component/legend',
'echarts/component/grid',
'echarts/component/tooltip',
'zrender/vml/vml'
], function (echarts) {
option = {
tooltip : {
trigger: 'axis',
axisPointer: {
type: 'line',
label: {
backgroundColor: '#6a7985'
}
},
alwaysShowContent: true
},
xAxis : [
{
type : 'category',
boundaryGap : false,
data : ['周一','周二','周三','周四','周五','周六','周日']
}
],
yAxis : [
{
type : 'value'
}
],
series : [
{
name:'搜索引擎',
type:'line',
stack: '总量',
label: {
normal: {
show: true,
position: 'top'
}
},
areaStyle: {normal: {}},
data:[820, 932, 456, 934, 1290, 1330]
}
]
};
createChart('alwaysShowContent', echarts, option);
})
</script>-->
</body>
</html>