| <!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> |