github地址:https://github.com/minmin233/LearnEcharts
数据可视化的主要目的:借助于图形化手段,清晰有效地表达与沟通信息,揭示蕴含在数据中的规律和道理
// 格式: 当前时间:2020年3月17-0时54分14秒
<script>
var t = null;
t = setTimeout(time, 1000);//開始运行
function time() {
clearTimeout(t);//清除定时器
dt = new Date();
var y = dt.getFullYear();
var mt = dt.getMonth() + 1;
var day = dt.getDate();
var h = dt.getHours();//获取时
var m = dt.getMinutes();//获取分
var s = dt.getSeconds();//获取秒
document.querySelector(".showTime").innerHTML = '当前时间:' + y + "年" + mt + "月" + day + "-" + h + "时" + m + "分" + s + "秒";
t = setTimeout(time, 1000); //设定定时器,循环运行
}
</script>
常见的数据可视化库:
大白话:
echarts.init(dom容器)
立即执行函数
为了防止变量污染,减少命名冲突,我们可以采取立即执行函数的写法。
里面的变量都是局部变量。
// x轴中更换data数据
data: [ "旅游行业","教育培训", "游戏行业", "医疗行业", "电商行业", "社交行业", "金融行业" ],
// series 更换数据 每一项的真实数据 一般从后台请求 ajax
data: [200, 300, 300, 900, 1500, 1200, 600]
window.addEventListener("resize", function() {
myChart.resize();
});
series: [
{
name: "条",
type: "bar",
data: [70, 34, 60, 78, 69],
yAxisIndex: 0,
// 柱子的样式
itemStyle: {
// 修改第一组柱子的圆角
barBorderRadius: 20,
// 此时的color 可以修改柱子的颜色
color: function (params) {
// params 传进来的是柱子对象
// console.log(params);
// dataIndex 是当前柱子的索引号
return myColor[params.dataIndex];
}
},
// 柱子之间的距离
barCategoryGap: 50,
//柱子的宽度
barWidth: 10,
// 显示柱子内的文字
label: {
show: true,
position: "inside",
// {c} 会自动的解析为 数据 data里面的数据
formatter: "{c}%"
}
},
{
name: "框",
type: "bar",
barCategoryGap: 50,
barWidth: 15,
yAxisIndex: 1,
data: [100, 100, 100, 100, 100],
itemStyle: {
color: "none",
borderColor: "#00c1de",
borderWidth: 3,
barBorderRadius: 15
}
}
]
<h2>
折线图-人员变化
<a href="javascript:;">2019</a>
<a href="javascript:;">2020</a>
</h2>
var yearData = [
{
year: '2019', // 年份
data: [ // 两个数组是因为有两条线
[24, 40, 101, 134, 90, 230, 210, 230, 120, 230, 210, 120],
[40, 64, 191, 324, 290, 330, 310, 213, 180, 200, 180, 79]
]
},
{
year: '2020', // 年份
data: [ // 两个数组是因为有两条线
[123, 175, 112, 197, 121, 67, 98, 21, 43, 64, 76, 38],
[143, 131, 165, 123, 178, 21, 82, 64, 43, 60, 19, 34]
]
}
];
series: [
{
name: '新增粉丝',
data: yearData[0].data[0],
type: 'line',
// 折线修饰为圆滑
smooth: true,
},
{
name: '新增游客',
data: yearData[0].data[1],
type: 'line',
// 折线修饰为圆滑
smooth: true,
},
]
// 5.点击切换效果
$('.line h2').on('click','a',function(){
// console.log($(this).index());
// 点击a之后,根据当前a的索引号找到对应的yearData对象
// console.log(yearData[$(this).index()]);
var obj = yearData[$(this).index()]
option.series[0].data = obj.data[0]
option.series[1].data = obj.data[1]
// 需要重新渲染
myChart.setOption(option);
})
series: [
{
name: "播放量",
type: 'line',
data: [30, 40, 30, 40, 30, 40, 30, 60, 20, 40, 30, 40, 30, 40, 30, 40, 30, 60, 20, 40, 30, 40, 30, 40, 30, 40, 20, 60, 50, 40],
//第一条 线是圆滑
smooth: true,
// 单独修改线的样式
lineStyle: {
color: "#0184d5",
width: 2
},
areaStyle: {
// 渐变色,只需要复制即可
color: new echarts.graphic.LinearGradient(
0,
0,
0,
1,
[
{
offset: 0,
color: "rgba(1, 132, 213, 0.4)" // 渐变色的起始颜色
},
{
offset: 0.8,
color: "rgba(1, 132, 213, 0.1)" // 渐变线的结束颜色
}
],
false
),
shadowColor: "rgba(0, 0, 0, 0.1)"
},
// 设置拐点 小圆点
symbol: "circle",
// 拐点大小
symbolSize: 8,
// 设置拐点颜色以及边框
itemStyle: {
color: "#0184d5",
borderColor: "rgba(221, 220, 107, .1)",
borderWidth: 12
},
// 开始不显示拐点, 鼠标经过显示
showSymbol: false,
},
]
实现步骤:
需要修改:
/* 约束屏幕尺寸 */
@media screen and(max-width: 1024px) {
html {
font-size: 42px!important;
}
}
@media screen and(min-width: 1920px) {
html {
font-size: 80px!important;
}
}