w-component-vue
Version:
A simple component for vue(vue2).
1,772 lines (1,755 loc) • 51.4 kB
HTML
<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-tw">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"
/>
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>w-component-vue</title>
<!-- @babel/polyfill -->
<script
nomodule
src="https://cdn.jsdelivr.net/npm/@babel/polyfill/dist/polyfill.min.js"
></script>
<!-- vue -->
<script src="https://cdn.jsdelivr.net/npm/vue@2.x/dist/vue.min.js"></script>
<!-- extractHtml已自動添加@babel/polyfill與vue -->
<!-- vuetify -->
<link
href="https://cdn.jsdelivr.net/npm/vuetify@2.6.14/dist/vuetify.min.css"
rel="stylesheet"
/>
<script
src="https://cdn.jsdelivr.net/npm/vuetify@2.6.14/dist/vuetify.min.js"
></script>
<!-- fontawesome -->
<link
href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.4.2/css/all.min.css"
rel="stylesheet"
/>
<!-- mdi, 各組件使用mdi/js會於轉單頁時改為mdi icon, 故需引用mdi/css -->
<link
href="https://cdn.jsdelivr.net/npm/@mdi/font@7.4.47/css/materialdesignicons.min.css"
rel="stylesheet"
/>
<!-- google, 各組件使用mdi/js故不需引用 -->
<link
_href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"
rel="stylesheet"
/>
<link
_href="https://fonts.googleapis.com/css?family=Material+Icons"
rel="stylesheet"
/>
<!-- data -->
<script
src="https://cdn.jsdelivr.net/npm/w-demores@1.0.27/res/data/dataAAPL.js"
></script>
<script
src="https://cdn.jsdelivr.net/npm/w-demores@1.0.27/res/data/dataUSD2EUR.js"
></script>
<script
src="https://cdn.jsdelivr.net/npm/w-demores@1.0.27/res/data/dataTemperature.js"
></script>
<script
src="https://cdn.jsdelivr.net/npm/w-demores@1.0.27/res/data/dataHousePriceArea.js"
></script>
<script
src="https://cdn.jsdelivr.net/npm/w-demores@1.0.27/res/data/dataFlare.js"
></script>
<script
src="https://cdn.jsdelivr.net/npm/w-demores@1.0.27/res/data/dataRain.js"
></script>
<script
src="https://cdn.jsdelivr.net/npm/w-demores@1.0.27/res/data/dataRainClip.js"
></script>
<script
src="https://cdn.jsdelivr.net/npm/w-demores@1.0.27/res/data/dataCivilSoilCodeIcon.js"
></script>
<!-- w-component-vue -->
<script src="https://cdn.jsdelivr.net/npm/w-component-vue@2.4.27/dist/w-component-vue.umd.js"></script>
<style>
.v-application--wrap {
/* width與max-width fix for IE11, 其外不能使用padding或margin避免失效 */
width: 100svw;
max-width: 100svw;
font-family: inherit;
background: #fff;
}
/* 組件所須全域樣式 */
.item {
/* 因item位於demolink, 提取各範例html後會刪除demolink, 故得額外補上 */
border-left: 3px solid #ffba75;
margin: 5px 5px 8px 0px;
padding: 3px 3px 5px 10px;
font-size: 0.9rem;
display: flex;
justify-content: flex-start;
align-items: center;
}
.head1 {
padding: 0px 0px 20px 0px;
font-size: 2.5rem;
}
.bkh {
/* 寬 */
padding: 20px;
}
@media screen and (max-width: 800px) {
/* 中 */
.bkh {
padding: 10px;
}
}
@media screen and (max-width: 400px) {
/* 窄 */
.bkh {
padding: 5px;
}
}
.bk {
/* 寬 */
display: inline-block;
vertical-align: top;
padding: 0px 80px 60px 0px;
}
@media screen and (max-width: 1000px) {
/* 中窄 */
.bk {
display: block;
padding: 0px 0px 50px 0px;
}
}
.cpitem {
transition: all 0.3s;
padding: 5px 15px;
cursor: pointer;
}
.cpitem-white {
background: #fff;
}
.cpitem-white:hover {
background: #eee;
}
.cpitem-black {
background: #333;
}
.cpitem-black:hover {
background: #555;
}
</style>
</head>
<body
style="font-family:'Microsoft JhengHei','Avenir','Helvetica'; padding:0px; margin:0px;"
>
<v-app id="app" class="bkh" style="font-family:inherit;">
<div class="head1">
<span
style="cursor:pointer;"
title="open for copy link to view component"
onclick="window.open('//yuda-lyu.github.io/w-component-vue/examples/app.html?cmp='+this.innerText,'_blank')"
>w-echarts-vue-dyn</span>
</div>
<div class="bk">
<div class="item">line3D</div>
<w-echarts-vue-dyn
style="width:620px; height:400px;"
:options="WEchartsVueDyn.options14"
></w-echarts-vue-dyn>
</div>
</v-app>
<script>
//install
Vue.use(window["w-component-vue"]);
//initialize
new Vue({
el: "#app",
vuetify: new Vuetify(),
data: function() {
let df = function(d) {
let date = [];
let data = [];
for (let i = 0; i < d.length; i++) {
let v = d[i];
let now = new Date(v[0]);
let t = [now.getFullYear(), now.getMonth() + 1, now.getDate()].join(
"-"
);
date.push(t);
data.push(v[1]);
}
return {
date,
data
};
};
let rDataAAPL = df(window.dataAAPL);
let rDataUSD2EUR = df(window.dataUSD2EUR);
return {
WEchartsVueDyn: {
widthOptions1: 620,
options1: {
tooltip: {
trigger: "axis",
position: function(pt) {
return [pt[0], "10%"];
}
},
title: {
left: "center",
text: "AAPL Stock Price"
},
toolbox: {
feature: {
dataZoom: {
yAxisIndex: "none",
title: {
zoom: "Zoom",
back: "Zoom Reset"
}
},
restore: {
title: "Restore"
},
saveAsImage: {
title: "Download"
}
}
},
xAxis: {
type: "category",
boundaryGap: false,
data: rDataAAPL.date
},
yAxis: {
type: "value",
boundaryGap: [0, "100%"]
},
dataZoom: [
{
type: "inside",
start: 0,
end: 100
},
{
start: 0,
end: 10,
handleIcon:
"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z",
handleSize: "80%",
handleStyle: {
color: "#fff",
shadowBlur: 3,
shadowColor: "rgba(0, 0, 0, 0.6)",
shadowOffsetX: 2,
shadowOffsetY: 2
}
}
],
series: [
{
name: "Price",
type: "line",
itemStyle: {
color: "rgba(20, 20, 200, 0.5)"
},
data: rDataAAPL.data
}
]
},
options2: {
tooltip: {
trigger: "axis",
position: function(pt) {
return [pt[0], "10%"];
}
},
title: {
left: "center",
text: "USD to EUR exchange rate over time"
},
toolbox: {
feature: {
dataZoom: {
yAxisIndex: "none",
title: {
zoom: "Zoom",
back: "Zoom Reset"
}
},
restore: {
title: "Restore"
},
saveAsImage: {
title: "Download"
}
}
},
xAxis: {
type: "category",
boundaryGap: false,
data: rDataUSD2EUR.date
},
yAxis: {
type: "value",
boundaryGap: [0, "100%"]
},
dataZoom: [
{
type: "inside",
start: 0,
end: 100
},
{
start: 0,
end: 10,
handleIcon:
"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z",
handleSize: "80%",
handleStyle: {
color: "#fff",
shadowBlur: 3,
shadowColor: "rgba(0, 0, 0, 0.6)",
shadowOffsetX: 2,
shadowOffsetY: 2
}
}
],
series: [
{
name: "USD to EUR",
type: "line",
// smooth: true,
// symbol: 'none',
// sampling: 'average',
itemStyle: {
color: "rgba(200,200,255,1)"
},
areaStyle: {
color: {
type: "linear",
x0: 0,
y0: 0,
x2: 0,
y2: 1,
colorStops: [
{
offset: 0,
color: "rgba(200,200,255,1)"
},
{
offset: 1,
color: "rgba(200,200,255,0.1)"
}
],
globalCoord: false
}
},
data: rDataUSD2EUR.data
}
]
},
options3: {
title: {
left: "center",
text: "堆叠区域图"
},
tooltip: {
trigger: "axis",
axisPointer: {
type: "cross",
label: {
backgroundColor: "#6a7985"
}
}
},
legend: {
y: 30,
data: ["邮件营销", "联盟广告", "视频广告", "直接访问", "搜索引擎"]
},
grid: {
left: "3%",
right: "4%",
bottom: "3%",
containLabel: true
},
xAxis: [
{
type: "category",
boundaryGap: false,
data: ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
}
],
yAxis: [
{
type: "value"
}
],
series: [
{
name: "邮件营销",
type: "line",
stack: "总量",
areaStyle: {},
data: [120, 132, 101, 134, 90, 230, 210]
},
{
name: "联盟广告",
type: "line",
stack: "总量",
areaStyle: {},
data: [220, 182, 191, 234, 290, 330, 310]
},
{
name: "视频广告",
type: "line",
stack: "总量",
areaStyle: {},
data: [150, 232, 201, 154, 190, 330, 410]
},
{
name: "直接访问",
type: "line",
stack: "总量",
areaStyle: {},
data: [320, 332, 301, 334, 390, 330, 320]
},
{
name: "搜索引擎",
type: "line",
stack: "总量",
label: {
normal: {
show: true,
position: "top"
}
},
areaStyle: {},
data: [820, 932, 901, 934, 1290, 1330, 1320]
}
]
},
options4: {
title: {
left: "center",
text: "基础雷达图"
},
tooltip: {},
legend: {
y: 30,
data: [
"预算分配(Allocated Budget)",
"实际开销(Actual Spending)"
]
},
radar: {
// shape: 'circle',
center: ["50%", "60%"],
radius: "60%",
name: {
textStyle: {
color: "#fff",
backgroundColor: "#999",
borderRadius: 3,
padding: [3, 5]
}
},
indicator: [
{ name: "销售(sales)", max: 6500 },
{ name: "管理(Administration)", max: 16000 },
{ name: "信息技术(Information Techology)", max: 30000 },
{ name: "客服(Customer Support)", max: 38000 },
{ name: "研发(Development)", max: 52000 },
{ name: "市场(Marketing)", max: 25000 }
]
},
series: [
{
name: "预算 vs 开销(Budget vs spending)",
type: "radar",
// areaStyle: {normal: {}},
data: [
{
value: [4300, 10000, 28000, 35000, 50000, 19000],
name: "预算分配(Allocated Budget)"
},
{
value: [5000, 14000, 28000, 31000, 42000, 21000],
name: "实际开销(Actual Spending)"
}
]
}
]
},
options5: {
title: {
// left: 'center',
text: "极坐标双数值轴"
},
legend: {
// y: 30,
data: ["line"]
},
polar: {
center: ["50%", "52%"],
radius: "72%"
},
tooltip: {
trigger: "axis",
axisPointer: {
type: "cross"
}
},
angleAxis: {
type: "value",
startAngle: 0
},
radiusAxis: {},
series: [
{
coordinateSystem: "polar",
name: "line",
type: "line",
data: (function() {
let data = [];
for (let i = 0; i <= 100; i++) {
let theta = (i / 100) * 360;
let r = 5 * (1 + Math.sin((theta / 180) * Math.PI));
data.push([r, theta]);
}
return data;
})()
}
]
},
options6: {
tooltip: {
position: "top"
},
grid: {
height: "70%",
top: "2%"
},
xAxis: {
type: "category",
data: [
"12a",
"1a",
"2a",
"3a",
"4a",
"5a",
"6a",
"7a",
"8a",
"9a",
"10a",
"11a",
"12p",
"1p",
"2p",
"3p",
"4p",
"5p",
"6p",
"7p",
"8p",
"9p",
"10p",
"11p"
],
splitArea: {
show: true
}
},
yAxis: {
type: "category",
data: [
"Saturday",
"Friday",
"Thursday",
"Wednesday",
"Tuesday",
"Monday",
"Sunday"
],
splitArea: {
show: true
}
},
visualMap: {
min: 0,
max: 10,
calculable: true,
orient: "horizontal",
left: "center",
bottom: "2%"
},
series: [
{
name: "Punch Card",
type: "heatmap",
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]
].map(function(item) {
return [item[1], item[0], item[2] || "-"];
}),
label: {
show: true
},
emphasis: {
itemStyle: {
shadowBlur: 10,
shadowColor: "rgba(0, 0, 0, 0.5)"
}
}
}
]
},
options7: {
title: {
left: "center",
text: "Dispersion of house price based on the area"
},
grid: {
top: "10%",
left: "0%",
right: "10%",
bottom: "0%",
containLabel: true
},
visualMap: {
min: 15202,
max: 159980,
dimension: 1,
orient: "vertical",
right: 10,
top: "center",
text: ["HIGH", "LOW"],
calculable: true,
inRange: {
color: ["#f2c31a", "#24b7f2"]
}
},
tooltip: {
trigger: "item",
axisPointer: {
type: "cross"
}
},
xAxis: [
{
type: "value"
}
],
yAxis: [
{
type: "value"
}
],
series: [
{
name: "price-area",
type: "scatter",
symbolSize: 5,
itemStyle: {
normal: {
borderWidth: 0.2,
borderColor: "#fff"
}
},
data: window.dataHousePriceArea
}
]
},
options8: {
parallelAxis: [
{ dim: 0, name: "Price" },
{ dim: 1, name: "Net Weight" },
{ dim: 2, name: "Amount" },
{
dim: 3,
name: "Score",
type: "category",
data: ["Excellent", "Good", "OK", "Bad"]
}
],
parallel: {
left: "5%",
right: "10%",
bottom: "5%",
top: "5%"
// parallelAxisDefault: {
// type: 'value',
// nameLocation: 'end',
// nameGap: 20
// }
},
series: {
type: "parallel",
lineStyle: {
width: 4
},
data: [
[12.99, 100, 82, "Good"],
[9.99, 80, 77, "OK"],
[20, 120, 60, "Excellent"]
]
}
},
options9: {
tooltip: {
trigger: "item",
triggerOn: "mousemove"
},
toolbox: {
feature: {
restore: {
title: "Restore"
},
saveAsImage: {
title: "Download"
}
}
},
series: [
{
type: "tree",
//orient: 'vertical',
data: [window.dataFlare],
top: "1%",
left: "4%",
bottom: "1%",
right: "14%",
//top: '4%',
//left: '1%',
//bottom: '14%',
//right: '1%',
symbolSize: 12,
initialTreeDepth: undefined, //展開全部
label: {
position: "left",
//position: 'top',
verticalAlign: "middle",
align: "right",
fontSize: 12,
//rotate: -90,
formatter: function(p) {
if (p.value) {
return p.name + ": " + p.value;
}
return p.name;
}
},
leaves: {
label: {
position: "right",
//position: 'bottom',
verticalAlign: "middle",
align: "left"
//rotate: -90,
//formatter: '{b}: {c}',
}
},
animationDuration: 500,
animationDurationUpdate: 500
}
]
},
options10: {
tooltip: {
trigger: "item",
triggerOn: "mousemove"
},
toolbox: {
feature: {
restore: {
title: "Restore"
},
saveAsImage: {
title: "Download"
}
}
},
series: [
{
type: "treemap",
name: window.dataFlare.name,
data: window.dataFlare.children,
upperLabel: {
show: true,
height: 24,
padding: 5
},
label: {
formatter: function(p) {
if (p.value) {
return p.name + "\n" + "(" + p.value + ")";
}
return p.name;
},
fontSize: 11
},
levels: [
{
itemStyle: {
borderWidth: 2,
gapWidth: 2,
borderColor: "#444"
//borderColorSaturation: 0.2,
}
},
{
itemStyle: {
borderWidth: 2,
gapWidth: 2,
borderColor: "#666"
//borderColorSaturation: 0.7,
}
},
{
itemStyle: {
borderWidth: 2,
gapWidth: 2,
borderColor: "#888"
//borderColorSaturation: 0.4,
}
},
{
itemStyle: {
borderWidth: 2,
gapWidth: 2,
borderColor: "#aaa"
//borderColorSaturation: 0.4,
}
}
]
}
]
},
options11: {
// legend: {
// data: ['Punch Card']
// },
tooltip: {},
visualMap: {
type: "continuous",
min: 0,
max: 10,
inRange: {
color: ["#2D5F73", "#538EA6", "#F2D1B3", "#F2B8A2", "#F28C8C"]
},
orient: "vertical",
top: "center"
},
series: {
type: "sunburst",
data: [
{
name: "Grandpa",
children: [
{
name: "Uncle Leo",
value: 15,
children: [
{
name: "Cousin Jack",
value: 2
},
{
name: "Cousin Mary",
value: 5,
children: [
{
name: "Jackson",
value: 2
}
]
},
{
name: "Cousin Ben",
value: 4
}
]
},
{
name: "Aunt Jane",
children: [
{
name: "Cousin Kate",
value: 4
}
]
},
{
name: "Father",
value: 10,
children: [
{
name: "Me",
value: 5,
itemStyle: {
color: "red"
}
},
{
name: "Brother Peter",
value: 1
}
]
}
]
},
{
name: "Mike",
children: [
{
name: "Uncle Dan",
children: [
{
name: "Cousin Lucy",
value: 3
},
{
name: "Cousin Luck",
value: 4,
children: [
{
name: "Nephew",
value: 2
}
]
}
]
}
]
},
{
name: "Nancy",
children: [
{
name: "Uncle Nike",
children: [
{
name: "Cousin Betty",
value: 1
},
{
name: "Cousin Jenny",
value: 2
}
]
}
]
}
],
radius: [0, "90%"],
label: {
rotate: "radial"
}
}
},
options12: {
legend: {
data: ["Punch Card"]
},
polar: {},
tooltip: {},
visualMap: {
type: "continuous",
min: 0,
max: 14,
top: "middle",
dimension: 2,
calculable: true
},
angleAxis: {
type: "category",
data: [
"12a",
"1a",
"2a",
"3a",
"4a",
"5a",
"6a",
"7a",
"8a",
"9a",
"10a",
"11a",
"12p",
"1p",
"2p",
"3p",
"4p",
"5p",
"6p",
"7p",
"8p",
"9p",
"10p",
"11p"
],
boundaryGap: false,
splitLine: {
show: true,
lineStyle: {
color: "#ddd",
type: "dashed"
}
},
axisLine: {
show: false
}
},
radiusAxis: {
type: "category",
data: [
"Saturday",
"Friday",
"Thursday",
"Wednesday",
"Tuesday",
"Monday",
"Sunday"
],
z: 100
},
series: [
{
name: "Punch Card",
type: "custom",
coordinateSystem: "polar",
itemStyle: {
color: "#d14a61"
},
renderItem: function(params, api) {
let values = [api.value(0), api.value(1)];
let coord = api.coord(values);
let size = api.size([1, 1], values);
return {
type: "sector",
shape: {
cx: params.coordSys.cx,
cy: params.coordSys.cy,
r0: coord[2] - size[0] / 2,
r: coord[2] + size[0] / 2,
startAngle: -(coord[3] + size[1] / 2),
endAngle: -(coord[3] - size[1] / 2)
},
style: api.style({
fill: api.visual("color")
})
};
},
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]
]
}
]
},
options13: {
tooltip: {},
visualMap: {
max: 20,
inRange: {
color: [
"#313695",
"#4575b4",
"#74add1",
"#abd9e9",
"#e0f3f8",
"#ffffbf",
"#fee090",
"#fdae61",
"#f46d43",
"#d73027",
"#a50026"
]
}
},
xAxis3D: {
type: "category",
data: [
"12a",
"1a",
"2a",
"3a",
"4a",
"5a",
"6a",
"7a",
"8a",
"9a",
"10a",
"11a",
"12p",
"1p",
"2p",
"3p",
"4p",
"5p",
"6p",
"7p",
"8p",
"9p",
"10p",
"11p"
]
},
yAxis3D: {
type: "category",
data: [
"Saturday",
"Friday",
"Thursday",
"Wednesday",
"Tuesday",
"Monday",
"Sunday"
]
},
zAxis3D: {
type: "value"
},
grid3D: {
boxWidth: 200,
boxDepth: 80,
light: {
main: {
intensity: 1.2
},
ambient: {
intensity: 0.3
}
}
},
series: [
{
type: "bar3D",
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]
].map(function(item) {
return {
value: [item[1], item[0], item[2]]
};
}),
shading: "color",
label: {
show: false,
textStyle: {
fontSize: 16,
borderWidth: 1
}
},
itemStyle: {
opacity: 0.4
},
emphasis: {
label: {
textStyle: {
fontSize: 20,
color: "#900"
}
},
itemStyle: {
color: "#900"
}
}
}
]
},
options14: {
tooltip: {},
backgroundColor: "#fff",
visualMap: {
show: false,
dimension: 2,
min: 0,
max: 30,
inRange: {
color: [
"#313695",
"#4575b4",
"#74add1",
"#abd9e9",
"#e0f3f8",
"#ffffbf",
"#fee090",
"#fdae61",
"#f46d43",
"#d73027",
"#a50026"
]
}
},
xAxis3D: {
type: "value"
},
yAxis3D: {
type: "value"
},
zAxis3D: {
type: "value"
},
grid3D: {
viewControl: {
projection: "orthographic"
}
},
series: [
{
type: "line3D",
data: (function() {
let data = [];
// Parametric curve
for (let t = 0; t < 25; t += 0.001) {
let x = (1 + 0.25 * Math.cos(75 * t)) * Math.cos(t);
let y = (1 + 0.25 * Math.cos(75 * t)) * Math.sin(t);
let z = t + 2.0 * Math.sin(75 * t);
data.push([x, y, z]);
}
return data;
})(),
lineStyle: {
width: 4
}
}
]
},
options15: {
tooltip: {},
backgroundColor: "#fff",
visualMap: {
show: false,
dimension: 2,
min: -1,
max: 1,
inRange: {
color: [
"#313695",
"#4575b4",
"#74add1",
"#abd9e9",
"#e0f3f8",
"#ffffbf",
"#fee090",
"#fdae61",
"#f46d43",
"#d73027",
"#a50026"
]
}
},
xAxis3D: {
type: "value"
},
yAxis3D: {
type: "value"
},
zAxis3D: {
type: "value"