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.
 
 
 
 
 
 

399 lines
8.7 KiB

$(function () {
"use strict";
// ------------------------------
// Basic bar chart
// ------------------------------
// based on prepared DOM, initialize echarts instance
var myChart = echarts.init(document.getElementById("basic-bar"));
// specify chart configuration item and data
var option = {
// Setup grid
grid: {
left: "1%",
right: "2%",
bottom: "3%",
containLabel: true,
},
// Add Tooltip
tooltip: {
trigger: "axis",
},
legend: {
data: ["Site A", "Site B"],
},
toolbox: {
show: true,
feature: {
magicType: { show: true, type: ["line", "bar"] },
restore: { show: true },
saveAsImage: { show: true },
},
},
color: ["#1e88e5", "#00acc1"],
calculable: true,
xAxis: [
{
type: "category",
data: [
"Jan",
"Feb",
"Mar",
"Apr",
"May",
"Jun",
"July",
"Aug",
"Sept",
"Oct",
"Nov",
"Dec",
],
},
],
yAxis: [
{
type: "value",
borderColor: "rgba(0,0,0,.1)",
},
],
series: [
{
name: "Site A",
type: "bar",
data: [
2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3,
],
markPoint: {
data: [
{ type: "max", name: "Max" },
{ type: "min", name: "Min" },
],
},
markLine: {
data: [{ type: "average", name: "Average" }],
},
},
{
name: "Site B",
type: "bar",
data: [
2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3,
],
markPoint: {
data: [
{
name: "The highest year",
value: 182.2,
xAxis: 7,
yAxis: 183,
symbolSize: 18,
},
{ name: "Year minimum", value: 2.3, xAxis: 11, yAxis: 3 },
],
},
markLine: {
data: [{ type: "average", name: "Average" }],
},
},
],
};
// use configuration item and data specified to show chart
myChart.setOption(option);
// ------------------------------
// Stacked bar chart
// ------------------------------
// based on prepared DOM, initialize echarts instance
var stackedChart = echarts.init(document.getElementById("stacked-bar"));
// specify chart configuration item and data
var option = {
// Setup grid
grid: {
x: 40,
x2: 40,
y: 45,
y2: 25,
},
// Add tooltip
tooltip: {
trigger: "axis",
axisPointer: {
// Axis indicator axis trigger effective
type: "shadow", // The default is a straight line, optionally: 'line' | 'shadow'
},
},
// Add legend
legend: {
data: [
"Direct access",
"Email marketing",
"Advertising alliance",
"Video ads",
"Search Engine",
],
},
// Add custom colors
color: ["#1e88e5", "#00acc1", "#212529", "#fc4b6c", "#dadada"],
// Horizontal axis
xAxis: [
{
type: "value",
},
],
// Vertical axis
yAxis: [
{
type: "category",
data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
},
],
// Add series
series: [
{
name: "Direct access",
type: "bar",
stack: "Total",
itemStyle: {
normal: { label: { show: true, position: "insideRight" } },
},
data: [320, 302, 301, 334, 390, 330, 320],
},
{
name: "Email marketing",
type: "bar",
stack: "Total",
itemStyle: {
normal: { label: { show: true, position: "insideRight" } },
},
data: [120, 132, 101, 134, 90, 230, 210],
},
{
name: "Advertising alliance",
type: "bar",
stack: "Total",
itemStyle: {
normal: { label: { show: true, position: "insideRight" } },
},
data: [220, 182, 191, 234, 290, 330, 310],
},
{
name: "Video ads",
type: "bar",
stack: "Total",
itemStyle: {
normal: { label: { show: true, position: "insideRight" } },
},
data: [150, 212, 201, 154, 190, 330, 410],
},
{
name: "Search Engine",
type: "bar",
stack: "Total",
itemStyle: {
normal: { label: { show: true, position: "insideRight" } },
},
data: [820, 832, 901, 934, 1290, 1330, 1320],
},
],
};
// use configuration item and data specified to show chart
stackedChart.setOption(option);
//***************************
// Stacked chart
//***************************
//***************************
// Stacked Area chart
//***************************
var stackedbarcolumnChart = echarts.init(
document.getElementById("stacked-column")
);
var option = {
// Setup grid
grid: {
x: 40,
x2: 40,
y: 45,
y2: 25,
},
// Add tooltip
tooltip: {
trigger: "axis",
axisPointer: {
// Axis indicator axis trigger effective
type: "shadow", // The default is a straight line, optionally: 'line' | 'shadow'
},
},
// Add legend
legend: {
data: ["Video", "Search engine", "Google", "Safari", "Opera", "Firefox"],
},
// Add custom colors
color: ["#1e88e5", "#00acc1", "#212529", "#fc4b6c", "#dadada"],
// Enable drag recalculate
calculable: true,
// Horizontal axis
xAxis: [
{
type: "category",
data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
},
],
// Vertical axis
yAxis: [
{
type: "value",
},
],
// Add series
series: [
{
name: "Video",
type: "bar",
stack: "advertising",
data: [150, 232, 201, 154, 190, 330, 410],
},
{
name: "Search engine",
type: "bar",
data: [862, 1018, 964, 1026, 1679, 1600, 1570],
markLine: {
itemStyle: {
normal: {
lineStyle: {
type: "dashed",
},
},
},
data: [[{ type: "min" }, { type: "max" }]],
},
},
{
name: "Google",
type: "bar",
barWidth: 12,
stack: "search engine",
data: [620, 732, 701, 734, 1090, 1130, 1120],
},
{
name: "Safari",
type: "bar",
stack: "search engine",
data: [120, 132, 101, 134, 290, 230, 220],
},
{
name: "Opera",
type: "bar",
stack: "search engine",
data: [60, 72, 71, 74, 190, 130, 110],
},
{
name: "Firefox",
type: "bar",
stack: "search engine",
data: [62, 82, 91, 84, 109, 110, 120],
},
],
// Add series
};
stackedbarcolumnChart.setOption(option);
// ------------------------------
// Basic line chart
// ------------------------------
// based on prepared DOM, initialize echarts instance
var barbasicChart = echarts.init(document.getElementById("bar-basic"));
var option = {
// Setup grid
grid: {
x: 60,
x2: 40,
y: 45,
y2: 25,
},
// Add tooltip
tooltip: {
trigger: "axis",
},
// Add legend
legend: {
data: ["2017", "2018"],
},
// Add custom colors
color: ["#1e88e5", "#00acc1"],
// Horizontal axis
xAxis: [
{
type: "value",
boundaryGap: [0, 0.01],
},
],
// Vertical axis
yAxis: [
{
type: "category",
data: ["Apple", "Samsung", "HTC", "Nokia", "Sony", "LG"],
},
],
// Add series
series: [
{
name: "2017",
type: "bar",
data: [600, 450, 350, 268, 474, 315],
},
{
name: "2018",
type: "bar",
data: [780, 689, 468, 174, 436, 482],
},
],
};
// use configuration item and data specified to show chart
barbasicChart.setOption(option);
//------------------------------------------------------
// Resize chart on menu width change and window resize
//------------------------------------------------------
$(function () {
// Resize chart on menu width change and window resize
$(window).on("resize", resize);
$(".sidebartoggler").on("click", resize);
// Resize function
function resize() {
setTimeout(function () {
// Resize chart
myChart.resize();
stackedChart.resize();
stackedbarcolumnChart.resize();
barbasicChart.resize();
}, 200);
}
});
});