368 lines
12 KiB
HTML
Generated
368 lines
12 KiB
HTML
Generated
<!DOCTYPE html>
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
-->
|
|
|
|
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<script src="lib/simpleRequire.js"></script>
|
|
<script src="lib/config.js"></script>
|
|
<script src="lib/jquery.min.js"></script>
|
|
<script src="lib/facePrint.js"></script>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<!-- <link rel="stylesheet" href="lib/reset.css"> -->
|
|
</head>
|
|
<body>
|
|
<style>
|
|
* {
|
|
/* Test tooltip trigger */
|
|
pointer-events: auto !important;
|
|
}
|
|
html {
|
|
position: static;
|
|
|
|
}
|
|
body {
|
|
position: static;
|
|
background: #ffe;
|
|
}
|
|
.chart {
|
|
position: relative;
|
|
width: 500px;
|
|
height: 300px;
|
|
border: 10px solid rgba(0,0,0,0.5);
|
|
margin: 30px auto 30px auto;
|
|
}
|
|
.try-box {
|
|
position: relative;
|
|
background: green;
|
|
padding: 0;
|
|
border-width: 0;
|
|
line-height: 1;
|
|
text-align: center;
|
|
font-size: 12px;
|
|
color: yellow;
|
|
/* box-sizing: content-box; */
|
|
}
|
|
.try-box-check {
|
|
position: absolute;
|
|
background: grey;
|
|
padding: 0;
|
|
border-width: 0;
|
|
line-height: 1;
|
|
text-align: center;
|
|
font-size: 12px;
|
|
}
|
|
.try-coord-marker {
|
|
position: absolute;
|
|
background: red;
|
|
width: 0; height: 0;
|
|
/* width: 5px; height: 5px; */
|
|
}
|
|
.pointer-marker {
|
|
position: absolute;
|
|
width: 6px;
|
|
height: 6px;
|
|
margin: -3px 0 0 -3px;
|
|
padding: 0;
|
|
background: orange;
|
|
}
|
|
</style>
|
|
|
|
<div
|
|
style="
|
|
position: fixed; left: 10px; bottom: 10px; color: red; padding: 2px;
|
|
font-size: 20px; border: 1px solid red; background: #fff; z-index: 999">
|
|
Also need test pinch
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div id="allCharts" style="margin: 30px;">
|
|
|
|
<div data-ec-title="css transform 2d" class="chart" id="main0"
|
|
style="
|
|
transform: scale(0.5, 0.5) rotate(15deg);
|
|
">
|
|
</div>
|
|
|
|
<div data-ec-title="css transform 3d" style="perspective: 171px;">
|
|
<div class="chart" id="main1"
|
|
style="
|
|
transform: translate(100px) rotateY(18deg) rotateX(12deg);
|
|
transform-style: preserve-3d;
|
|
">
|
|
</div>
|
|
</div>
|
|
|
|
<div style="height: 300px;width: 10px;"></div>
|
|
|
|
<div style="
|
|
transform: scale(0.7, 0.7) rotate(75deg);
|
|
">
|
|
<div style="perspective: 271px;">
|
|
<div data-ec-title="nested transform" class="chart" id="main2"
|
|
style="
|
|
transform: scale3d(1, -1.5, 1) rotateY(-28deg) rotateZ(-32deg);
|
|
transform-style: preserve-3d;
|
|
">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div style="height: 400px;width: 10px;"></div>
|
|
|
|
<div style="
|
|
perspective: 231px;
|
|
">
|
|
<canvas data-ec-title="Not support iOS (pre-create a canvas)" class="chart" id="main3"
|
|
style="
|
|
transform: translateX(140px) rotateX(28deg) rotateZ(12deg);
|
|
transform-style: preserve-3d;
|
|
">
|
|
</canvas>
|
|
</div>
|
|
|
|
</idv>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
function $createOption(title) {
|
|
var xAxisData = [];
|
|
var data1 = [];
|
|
var data2 = [];
|
|
var data3 = [];
|
|
var bigTooltipBound = 10;
|
|
|
|
for (var i = 0; i < 50; i++) {
|
|
xAxisData.push('类目' + i);
|
|
data1.push(+(Math.random() + 0.5).toFixed(3));
|
|
data2.push(+(Math.random() + 0.5).toFixed(3));
|
|
data3.push(+(Math.random() + 0.5).toFixed(3));
|
|
}
|
|
|
|
function getSymbolSize(value, param) {
|
|
if (param.dataIndex <= bigTooltipBound) {
|
|
return 30;
|
|
}
|
|
return 10;
|
|
}
|
|
|
|
var itemStyle = {
|
|
normal: {
|
|
borderColor: 'white',
|
|
borderWidth: 3,
|
|
lineStyle: {
|
|
width: 1
|
|
}
|
|
}
|
|
};
|
|
|
|
return {
|
|
backgroundColor: '#eee',
|
|
title: {
|
|
text: title || ''
|
|
},
|
|
legend: {
|
|
data: ['line', 'line2', 'line3'],
|
|
itemWidth: 50,
|
|
itemHeight: 40,
|
|
right: 50,
|
|
bottom: 0
|
|
},
|
|
visualMap: null, // 用于测试 option 中含有null的情况。
|
|
tooltip: {
|
|
trigger: 'axis',
|
|
// set enterable as false to check coord of event triggered by tooltip.
|
|
enterable: false,
|
|
axisPointer: {
|
|
type: 'cross'
|
|
},
|
|
formatter: function () {
|
|
return [
|
|
'<div>',
|
|
'Move inside the tooltip<br>',
|
|
'The original interactions of<br>',
|
|
'the chart under the tooltip <br>',
|
|
'should be normally triggered.<br>',
|
|
'That means the coord of <br>',
|
|
'the event <br>',
|
|
'triggered by tooltip<br>',
|
|
'is correct<br>',
|
|
'----<br>',
|
|
'----<br>',
|
|
'</div>'
|
|
].join('');
|
|
},
|
|
position: function (point, params, dom, rect, size) {
|
|
var viewSize = size.viewSize;
|
|
var contentSize = size.contentSize;
|
|
return [
|
|
viewSize[0] - contentSize[0],
|
|
viewSize[1] - contentSize[1],
|
|
];
|
|
}
|
|
},
|
|
xAxis: {
|
|
data: xAxisData,
|
|
boundaryGap: false,
|
|
splitArea: {
|
|
show: false
|
|
},
|
|
splitLine: {
|
|
show: false
|
|
}
|
|
},
|
|
grid: {
|
|
left: '10%',
|
|
right: 2,
|
|
bottom: 100
|
|
},
|
|
yAxis: {
|
|
splitArea: {
|
|
show: true
|
|
}
|
|
},
|
|
dataZoom: [{
|
|
type: 'inside',
|
|
start: 10,
|
|
end: 30
|
|
}, {
|
|
type: 'slider',
|
|
bottom: 40
|
|
}],
|
|
series: [{
|
|
name: 'line',
|
|
type: 'line',
|
|
stack: 'all',
|
|
symbol: 'circle',
|
|
symbolSize: getSymbolSize,
|
|
data: data1,
|
|
itemStyle: itemStyle,
|
|
step: 'end'
|
|
}, {
|
|
name: 'line2',
|
|
type: 'line',
|
|
stack: 'all',
|
|
symbol: 'circle',
|
|
symbolSize: getSymbolSize,
|
|
data: data2,
|
|
itemStyle: itemStyle,
|
|
step: 'end'
|
|
}, {
|
|
name: 'line3',
|
|
type: 'line',
|
|
stack: 'all',
|
|
symbol: 'triangle',
|
|
symbolSize: getSymbolSize,
|
|
data: data3,
|
|
itemStyle: itemStyle,
|
|
step: 'end'
|
|
}]
|
|
};
|
|
}
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
initCharts();
|
|
|
|
function initCharts() {
|
|
var allCharts = document.getElementById('allCharts');
|
|
allCharts.style.display = 'block';
|
|
|
|
function addEventListener(chart) {
|
|
chart.getZr().on('click', function (e) {
|
|
console.log('zr e.offsetX e.offsetY', e.offsetX, e.offsetY);
|
|
facePrint({'zr-e-offsetX': e.offsetX, 'zr-e-offsetY': e.offsetY});
|
|
});
|
|
}
|
|
|
|
require([
|
|
'echarts'
|
|
], function (echarts) {
|
|
var el = document.getElementById('main0');
|
|
if (!el) {
|
|
return;
|
|
}
|
|
var chart = echarts.init(el);
|
|
addEventListener(chart);
|
|
chart.setOption($createOption(el.getAttribute('data-ec-title')));
|
|
});
|
|
|
|
require([
|
|
'echarts'
|
|
], function (echarts) {
|
|
var el = document.getElementById('main1');
|
|
if (!el) {
|
|
return;
|
|
}
|
|
var chart = echarts.init(el, null, {
|
|
});
|
|
addEventListener(chart);
|
|
chart.setOption($createOption(el.getAttribute('data-ec-title')));
|
|
});
|
|
|
|
require([
|
|
'echarts'
|
|
], function (echarts) {
|
|
var el = document.getElementById('main2');
|
|
if (!el) {
|
|
return;
|
|
}
|
|
var chart = echarts.init(el, null, {
|
|
});
|
|
addEventListener(chart);
|
|
chart.setOption($createOption(el.getAttribute('data-ec-title')));
|
|
});
|
|
|
|
require([
|
|
'echarts'
|
|
], function (echarts) {
|
|
var canvasEl = document.getElementById('main3');
|
|
if (!canvasEl) {
|
|
return;
|
|
}
|
|
var chart = echarts.init(canvasEl, null, {
|
|
devicePixelRatio: 2,
|
|
// FIXME: weird
|
|
width: canvasEl.offsetWidth,
|
|
height: canvasEl.offsetHeight
|
|
});
|
|
addEventListener(chart);
|
|
chart.setOption($createOption(canvasEl.getAttribute('data-ec-title')));
|
|
});
|
|
}
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
</html> |