mirror of https://github.com/ColorlibHQ/gentelella
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.
738 lines
26 KiB
738 lines
26 KiB
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<script src="esl.js"></script>
|
|
<script src="config.js"></script>
|
|
<link rel="stylesheet" href="reset.css">
|
|
<script src="lib/jquery.min.js"></script>
|
|
</head>
|
|
<body>
|
|
<style>
|
|
.main {
|
|
height: 400px;
|
|
margin: 10px 0 80px 0;
|
|
}
|
|
.label {
|
|
background: #ddd;
|
|
line-height: 30px;
|
|
font-weight: bold;
|
|
text-align: center;
|
|
}
|
|
</style>
|
|
<div class="label">Color Alpha in scatter (using outOfRange as 'selected')</div>
|
|
<div class="main" id="main1"></div>
|
|
<div class="label">Opacity in bar (label color specified)</div>
|
|
<div class="main" id="main2"></div>
|
|
<div class="label">Opacity in scatter (label color specified)</div>
|
|
<div class="main" id="main3"></div>
|
|
<div class="label">Opacity in graph (label color specified)</div>
|
|
<div class="main" id="main4"></div>
|
|
<div class="label">Opacity in heatmap (inactive color default using opacity)</div>
|
|
<div class="main" id="main5"></div>
|
|
<div class="label">Opacity in pie (label color and label line color specified)</div>
|
|
<div class="main" id="main6"></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ALPHA SCATTER -->
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
require([
|
|
'echarts',
|
|
'echarts/chart/scatter',
|
|
'echarts/component/legend',
|
|
'echarts/component/grid',
|
|
'echarts/component/visualMapPiecewise'
|
|
], function (echarts) {
|
|
|
|
var main = document.getElementById('main1');
|
|
if (!main) {
|
|
return;
|
|
}
|
|
var chart = echarts.init(main);
|
|
|
|
var data1 = [];
|
|
var data2 = [];
|
|
var data3 = [];
|
|
|
|
var symbolCount = 6;
|
|
|
|
for (var i = 0; i < 100; i++) {
|
|
data1.push([
|
|
Math.random() * 5,
|
|
Math.random() * 4,
|
|
Math.random() * 20,
|
|
Math.round(Math.random() * (symbolCount - 1))
|
|
]);
|
|
data2.push([
|
|
Math.random() * 10,
|
|
Math.random() * 5,
|
|
Math.random() * 20,
|
|
Math.round(Math.random() * (symbolCount - 1))
|
|
]);
|
|
data3.push([
|
|
Math.random() * 15,
|
|
Math.random() * 10,
|
|
Math.random() * 20,
|
|
Math.round(Math.random() * (symbolCount - 1))
|
|
]);
|
|
}
|
|
|
|
chart.on('click', function (params) {
|
|
console.log(params);
|
|
});
|
|
|
|
chart.setOption({
|
|
color: ['#bcd3bb', '#928ea8', '#edc1a5'],
|
|
legend: {
|
|
data: ['scatter', 'scatter2', 'scatter3']
|
|
},
|
|
grid: {
|
|
top: 50,
|
|
bottom: 30
|
|
},
|
|
xAxis: {
|
|
type: 'value',
|
|
splitLine: {
|
|
show: false
|
|
}
|
|
},
|
|
yAxis: {
|
|
type: 'value',
|
|
splitLine: {
|
|
show: false
|
|
}
|
|
},
|
|
visualMap: [
|
|
{
|
|
type: 'piecewise',
|
|
splitNumber: 6,
|
|
left: 'right',
|
|
bottom: 30,
|
|
// selectedMode: 'single',
|
|
selectedMode: 'multiple',
|
|
selected: {
|
|
0: false, 1: false, 2: false, 3: false, 4: false, 5: false
|
|
},
|
|
dimension: 'z',
|
|
min: 0,
|
|
max: 24,
|
|
precision: 0,
|
|
inRange: { // visual for short cut
|
|
color: ['rgb(20,1,0)'],
|
|
symbolSize: [40, 5]
|
|
},
|
|
outOfRange: {
|
|
colorAlpha: [0.3, 1],
|
|
symbolSize: [40, 5]
|
|
}
|
|
}
|
|
],
|
|
series: [
|
|
{
|
|
name: 'scatter',
|
|
type: 'scatter',
|
|
itemStyle: {
|
|
normal: {
|
|
opacity: 0.8,
|
|
shadowBlur: 10,
|
|
shadowOffsetX: 0,
|
|
shadowOffsetY: 0,
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
}
|
|
},
|
|
data: data1
|
|
},
|
|
{
|
|
name: 'scatter2',
|
|
type: 'scatter',
|
|
itemStyle: {
|
|
normal: {
|
|
opacity: 0.8,
|
|
shadowBlur: 10,
|
|
shadowOffsetX: 0,
|
|
shadowOffsetY: 0,
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
}
|
|
},
|
|
data: data2
|
|
},
|
|
{
|
|
name: 'scatter3',
|
|
type: 'scatter',
|
|
itemStyle: {
|
|
normal: {
|
|
opacity: 0.8,
|
|
shadowBlur: 10,
|
|
shadowOffsetX: 0,
|
|
shadowOffsetY: 0,
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
}
|
|
},
|
|
data: data3
|
|
}
|
|
]
|
|
});
|
|
|
|
window.addEventListener('resize', function () {
|
|
chart.resize();
|
|
});
|
|
});
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- OPACITY BAR -->
|
|
|
|
|
|
<script>
|
|
|
|
require([
|
|
'echarts',
|
|
'echarts/chart/bar',
|
|
'echarts/chart/line',
|
|
'echarts/component/legend',
|
|
'echarts/component/grid',
|
|
'echarts/component/tooltip',
|
|
'echarts/component/toolbox',
|
|
'echarts/component/visualMap',
|
|
'zrender/vml/vml'
|
|
], function (echarts) {
|
|
|
|
var main = document.getElementById('main2');
|
|
if (!main) {
|
|
return;
|
|
}
|
|
var chart = echarts.init(main);
|
|
|
|
var xAxisData = [];
|
|
var data1 = [];
|
|
var data2 = [];
|
|
var data3 = [];
|
|
var data4 = [];
|
|
|
|
var DATA_MAX = 5.5;
|
|
|
|
for (var i = 0; i < 10; i++) {
|
|
xAxisData.push('类目' + i);
|
|
data1.push((Math.random() * DATA_MAX).toFixed(2));
|
|
data2.push(-Math.random().toFixed(2));
|
|
data3.push((Math.random() + 0.5).toFixed(2));
|
|
data4.push((Math.random() + 0.3).toFixed(2));
|
|
}
|
|
|
|
var labelStyle = {
|
|
normal: {
|
|
show: true,
|
|
position: 'outside',
|
|
textStyle: {
|
|
color: '#333'
|
|
}
|
|
}
|
|
};
|
|
|
|
var itemStyle = {
|
|
normal: {
|
|
},
|
|
emphasis: {
|
|
shadowBlur: 10,
|
|
shadowOffsetX: 0,
|
|
shadowOffsetY: 0,
|
|
shadowColor: 'rgba(0,0,0,0.5)'
|
|
}
|
|
};
|
|
|
|
chart.setOption({
|
|
legend: {
|
|
data: ['bar', 'bar2', 'bar3'],
|
|
align: 'left'
|
|
},
|
|
toolbox: {
|
|
// y: 'bottom',
|
|
feature: {
|
|
magicType: {
|
|
type: ['line', 'bar', 'stack', 'tiled']
|
|
},
|
|
dataView: {}
|
|
}
|
|
},
|
|
tooltip: {},
|
|
xAxis: {
|
|
data: xAxisData,
|
|
axisLine: {
|
|
onZero: true
|
|
},
|
|
splitLine: {
|
|
show: false
|
|
},
|
|
splitArea: {
|
|
show: false
|
|
}
|
|
},
|
|
yAxis: {
|
|
splitArea: {
|
|
show: false
|
|
},
|
|
max: 6,
|
|
min: -2
|
|
},
|
|
visualMap: [
|
|
{
|
|
type: 'continuous',
|
|
right: 0,
|
|
itemWidth: 15,
|
|
bottom: 30,
|
|
dimension: 1,
|
|
calculable: true,
|
|
min: -2,
|
|
max: DATA_MAX,
|
|
precision: 2,
|
|
inRange: {
|
|
opacity: [1, 1] // Using opacity when label color specified
|
|
},
|
|
controller: {
|
|
inRange: {
|
|
color: '#888'
|
|
},
|
|
outOfRange: {
|
|
color: '#888'
|
|
}
|
|
},
|
|
outOfRange: {
|
|
opacity: [0.2, 0.2] // Using opacity when label color specified
|
|
}
|
|
}
|
|
],
|
|
series: [
|
|
{
|
|
name: 'bar',
|
|
type: 'bar',
|
|
stack: 'one',
|
|
itemStyle: itemStyle,
|
|
label: labelStyle,
|
|
data: data1
|
|
},
|
|
{
|
|
name: 'bar2',
|
|
type: 'bar',
|
|
stack: 'one',
|
|
itemStyle: itemStyle,
|
|
label: labelStyle,
|
|
data: data2
|
|
},
|
|
{
|
|
name: 'bar3',
|
|
type: 'bar',
|
|
itemStyle: itemStyle,
|
|
label: labelStyle,
|
|
data: data3
|
|
}
|
|
]
|
|
});
|
|
|
|
window.addEventListener('resize', function () {
|
|
chart.resize();
|
|
});
|
|
});
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- OPACITY SCATTER -->
|
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
require([
|
|
'echarts',
|
|
'echarts/chart/scatter',
|
|
'echarts/component/legend',
|
|
'echarts/component/grid',
|
|
'echarts/component/visualMapPiecewise'
|
|
], function (echarts) {
|
|
|
|
var main = document.getElementById('main3');
|
|
if (!main) {
|
|
return;
|
|
}
|
|
var chart = echarts.init(main);
|
|
|
|
var data1 = [];
|
|
|
|
var symbolCount = 6;
|
|
|
|
for (var i = 0; i < 100; i++) {
|
|
data1.push([
|
|
Math.random() * 5,
|
|
Math.random() * 4,
|
|
Math.random() * 20,
|
|
Math.round(Math.random() * (symbolCount - 1))
|
|
]);
|
|
}
|
|
|
|
chart.setOption({
|
|
legend: {
|
|
data: ['scatter', 'scatter2', 'scatter3']
|
|
},
|
|
grid: {
|
|
top: 50,
|
|
bottom: 30
|
|
},
|
|
xAxis: {
|
|
type: 'value',
|
|
splitLine: {
|
|
show: false
|
|
}
|
|
},
|
|
yAxis: {
|
|
type: 'value',
|
|
splitLine: {
|
|
show: false
|
|
}
|
|
},
|
|
visualMap: [
|
|
{
|
|
type: 'piecewise',
|
|
splitNumber: 6,
|
|
left: 'right',
|
|
bottom: 30,
|
|
selectedMode: 'multiple',
|
|
dimension: 'z',
|
|
min: 0,
|
|
max: 24,
|
|
precision: 0,
|
|
inRange: { // visual for short cut
|
|
opacity: 1,
|
|
symbolSize: [15, 50]
|
|
},
|
|
outOfRange: {
|
|
opacity: 0.3,
|
|
symbolSize: [15, 50]
|
|
}
|
|
}
|
|
],
|
|
series: [
|
|
{
|
|
name: 'scatter',
|
|
type: 'scatter',
|
|
itemStyle: {
|
|
normal: {
|
|
opacity: 0.8,
|
|
shadowBlur: 10,
|
|
shadowOffsetX: 0,
|
|
shadowOffsetY: 0,
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
}
|
|
},
|
|
label: {
|
|
normal: {
|
|
show: true,
|
|
position: 'inside',
|
|
textStyle: {
|
|
color: '#fff'
|
|
}
|
|
}
|
|
},
|
|
data: data1
|
|
}
|
|
]
|
|
});
|
|
|
|
window.addEventListener('resize', function () {
|
|
chart.resize();
|
|
});
|
|
});
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- OPACITY GRAPH -->
|
|
|
|
<script>
|
|
|
|
require([
|
|
'echarts',
|
|
|
|
'extension/dataTool/gexf',
|
|
|
|
'echarts/chart/graph',
|
|
|
|
'echarts/component/title',
|
|
'echarts/component/legend',
|
|
'echarts/component/geo',
|
|
'echarts/component/tooltip',
|
|
'echarts/component/visualMap',
|
|
|
|
'theme/vintage'
|
|
], function (echarts, gexf) {
|
|
|
|
var main = document.getElementById('main4');
|
|
if (!main) {
|
|
return;
|
|
}
|
|
var chart = echarts.init(main);
|
|
|
|
$.get('./data/les-miserables.gexf', function (xml) {
|
|
var graph = gexf.parse(xml);
|
|
var categories = [];
|
|
for (var i = 0; i < 9; i++) {
|
|
categories[i] = {
|
|
name: '类目' + i
|
|
};
|
|
}
|
|
graph.nodes.forEach(function (node) {
|
|
delete node.itemStyle;
|
|
node.value = node.symbolSize;
|
|
node.label = {
|
|
normal: {
|
|
show: node.symbolSize > 30
|
|
}
|
|
};
|
|
node.category = node.attributes['modularity_class'];
|
|
});
|
|
graph.links.forEach(function (link) {
|
|
delete link.lineStyle;
|
|
});
|
|
var option = {
|
|
tooltip: {},
|
|
legend: [{
|
|
// selectedMode: 'single',
|
|
data: categories.map(function (a) {
|
|
return a.name;
|
|
})
|
|
}],
|
|
visualMap: {
|
|
min: 0,
|
|
max: 100,
|
|
dimension: 0,
|
|
calculable: true,
|
|
inRange: {
|
|
opacity: 1,
|
|
symbolSize: [10, 100]
|
|
},
|
|
outOfRange: {
|
|
opacity: 0.2,
|
|
symbolSize: [10, 100]
|
|
}
|
|
},
|
|
animationDurationUpdate: 1500,
|
|
animationEasingUpdate: 'quinticInOut',
|
|
series : [
|
|
{
|
|
name: 'Les Miserables',
|
|
type: 'graph',
|
|
layout: 'none',
|
|
data: graph.nodes,
|
|
links: graph.links,
|
|
categories: categories,
|
|
roam: true,
|
|
label: {
|
|
normal: {
|
|
textStyle: {
|
|
color: '#333'
|
|
},
|
|
position: 'right',
|
|
formatter: '{b}'
|
|
}
|
|
},
|
|
lineStyle: {
|
|
normal: {
|
|
curveness: 0.3
|
|
}
|
|
}
|
|
}
|
|
]
|
|
};
|
|
|
|
chart.setOption(option);
|
|
|
|
});
|
|
});
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- OPACITY HEATMAP -->
|
|
|
|
<script type="text/javascript">
|
|
|
|
require([
|
|
'echarts',
|
|
'echarts/chart/heatmap',
|
|
'echarts/component/grid',
|
|
'echarts/component/tooltip',
|
|
'echarts/component/visualMapPiecewise'
|
|
], function (echarts) {
|
|
|
|
var main = document.getElementById('main5');
|
|
if (!main) {
|
|
return;
|
|
}
|
|
var chart = echarts.init(main, null, {
|
|
renderer: 'canvas'
|
|
});
|
|
|
|
var hours = ['12a', '1a', '2a', '3a', '4a', '5a', '6a',
|
|
'7a', '8a', '9a','10a','11a',
|
|
'12p', '1p', '2p', '3p', '4p', '5p',
|
|
'6p', '7p', '8p', '9p', '10p', '11p'];
|
|
var days = ['Saturday', 'Friday', 'Thursday',
|
|
'Wednesday', 'Tuesday', 'Monday', 'Sunday'];
|
|
|
|
var data = [[0,0,5],[0,1,1],[0,2,0],[0,3,0],[0,4,0],[0,5,0],[0,6,0],[0,7,0],[0,8,0],[0,9,0],[0,10,0],[0,11,2],[0,12,4],[0,13,1],[0,14,1],[0,15,3],[0,16,4],[0,17,6],[0,18,4],[0,19,4],[0,20,3],[0,21,3],[0,22,2],[0,23,5],[1,0,7],[1,1,0],[1,2,0],[1,3,0],[1,4,0],[1,5,0],[1,6,0],[1,7,0],[1,8,0],[1,9,0],[1,10,5],[1,11,2],[1,12,2],[1,13,6],[1,14,9],[1,15,11],[1,16,6],[1,17,7],[1,18,8],[1,19,12],[1,20,5],[1,21,5],[1,22,7],[1,23,2],[2,0,1],[2,1,1],[2,2,0],[2,3,0],[2,4,0],[2,5,0],[2,6,0],[2,7,0],[2,8,0],[2,9,0],[2,10,3],[2,11,2],[2,12,1],[2,13,9],[2,14,8],[2,15,10],[2,16,6],[2,17,5],[2,18,5],[2,19,5],[2,20,7],[2,21,4],[2,22,2],[2,23,4],[3,0,7],[3,1,3],[3,2,0],[3,3,0],[3,4,0],[3,5,0],[3,6,0],[3,7,0],[3,8,1],[3,9,0],[3,10,5],[3,11,4],[3,12,7],[3,13,14],[3,14,13],[3,15,12],[3,16,9],[3,17,5],[3,18,5],[3,19,10],[3,20,6],[3,21,4],[3,22,4],[3,23,1],[4,0,1],[4,1,3],[4,2,0],[4,3,0],[4,4,0],[4,5,1],[4,6,0],[4,7,0],[4,8,0],[4,9,2],[4,10,4],[4,11,4],[4,12,2],[4,13,4],[4,14,4],[4,15,14],[4,16,12],[4,17,1],[4,18,8],[4,19,5],[4,20,3],[4,21,7],[4,22,3],[4,23,0],[5,0,2],[5,1,1],[5,2,0],[5,3,3],[5,4,0],[5,5,0],[5,6,0],[5,7,0],[5,8,2],[5,9,0],[5,10,4],[5,11,1],[5,12,5],[5,13,10],[5,14,5],[5,15,7],[5,16,11],[5,17,6],[5,18,0],[5,19,5],[5,20,3],[5,21,4],[5,22,2],[5,23,0],[6,0,1],[6,1,0],[6,2,0],[6,3,0],[6,4,0],[6,5,0],[6,6,0],[6,7,0],[6,8,0],[6,9,0],[6,10,1],[6,11,0],[6,12,2],[6,13,1],[6,14,3],[6,15,4],[6,16,0],[6,17,0],[6,18,0],[6,19,0],[6,20,1],[6,21,2],[6,22,2],[6,23,6]];
|
|
|
|
data = data.map(function (item) {
|
|
return [item[1], item[0], item[2] || '-'];
|
|
});
|
|
|
|
option = {
|
|
backgroundColor: '#eee4ee',
|
|
tooltip: {
|
|
position: 'top'
|
|
},
|
|
animation: false,
|
|
grid: {
|
|
height: '50%',
|
|
y: '10%'
|
|
},
|
|
xAxis: {
|
|
type: 'category',
|
|
data: hours
|
|
},
|
|
yAxis: {
|
|
type: 'category',
|
|
data: days
|
|
},
|
|
visualMap: {
|
|
min: 1,
|
|
max: 10,
|
|
calculable: true,
|
|
range: [3, 6],
|
|
orient: 'horizontal',
|
|
left: 'center',
|
|
bottom: '15%'
|
|
},
|
|
series: [{
|
|
name: 'Punch Card',
|
|
type: 'heatmap',
|
|
data: data,
|
|
label: {
|
|
normal: {
|
|
show: true
|
|
}
|
|
},
|
|
itemStyle: {
|
|
emphasis: {
|
|
shadowBlur: 10,
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
}
|
|
}
|
|
}]
|
|
};
|
|
|
|
chart.setOption(option);
|
|
});
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- OPACITY HEATMAP -->
|
|
|
|
<script>
|
|
require([
|
|
'echarts',
|
|
'echarts/chart/pie',
|
|
'echarts/component/legend',
|
|
'echarts/component/grid',
|
|
'echarts/component/tooltip'
|
|
], function (echarts) {
|
|
|
|
var main = document.getElementById('main6');
|
|
if (!main) {
|
|
return;
|
|
}
|
|
var chart = echarts.init(main);
|
|
|
|
chart.setOption({
|
|
legend: {
|
|
data:['直接访问','邮件营销','联盟广告','视频广告','搜索引擎']
|
|
},
|
|
tooltip: {},
|
|
visualMap: {
|
|
type: 'continuous',
|
|
top: 'middle',
|
|
min: 0,
|
|
max: 700,
|
|
dimension: 1,
|
|
calculable: true,
|
|
inRange: {
|
|
color: ['yellow', 'green']
|
|
}
|
|
},
|
|
series: [{
|
|
name: 'pie',
|
|
type: 'pie',
|
|
selectedMode: 'single',
|
|
selectedOffset: 30,
|
|
clockwise: true,
|
|
label: {
|
|
normal: {
|
|
textStyle: {
|
|
color: '#333'
|
|
}
|
|
}
|
|
},
|
|
labelLine: {
|
|
normal: {
|
|
lineStyle: {
|
|
color: '#333'
|
|
}
|
|
}
|
|
},
|
|
data:[
|
|
{value: [335, 632], name:'直接访问'},
|
|
{value: [310, 434], name:'邮件营销'},
|
|
{value: [234, 233], name:'联盟广告'},
|
|
{value: [135, 544], name:'视频广告'},
|
|
{value: [1548, 381], name:'搜索引擎'}
|
|
]
|
|
}]
|
|
});
|
|
});
|
|
</script>
|
|
|
|
</body>
|
|
</html> |