基于js+echarts实现数据可视化
由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!点击【学习资料】即可获取!漫长,而且极易碰到天花板技术停滞不前!**因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。[外链图片转存中…(img-JryEMnkn-171
立即执行函数:
声明一个函数,并马上调用这个匿名函数就叫做立即执行函数;即立即执行函数是定义函数以后立即执行该函数。
()()
里面定义的参数相对于是局部变量,即使变量名相同,也不会有影响的,所以就放心使用吧
项目里面每个盒子的边框不再是中规中矩的border了,之所以看起来很高级,那是因为边框里面有图片哟,大家不要觉得很难,因为它真的很简单
边框图片
边框效果图:
首先来了解下边框图片需要掌握的属性
属性 | 说明 |
border-image-source | 用在边框的图片的路径 |
border-image-slice | 图片边框内向偏移 裁剪的尺寸,一定不加单位,上右下左顺序进行裁剪 |
border-image-width | 图片边框的宽度(需要加单位)注意:不是边框的宽度而是边框图片的宽度 |
border-image-repeat | 图片边框是否平铺(repeat)、铺满(round)、或拉伸(stretch)默认拉伸 |
我们来看看border-image-repeat属性值不同的效果
分割多少,就以四个角图片的完整度来哟
很多人会疑惑🤔 为什么还要在box盒子里面放一个inner盒子呢,注意看由于盒子模型的原因 如果直接写文字,文字的书写位置就达不到我们想要的这种效果,所以通过在边框里面再添加一个子盒子,利用定位 ,里面的内容就可以改变位置啦,快去试一试吧
字体图标
这里为什么要将字体图标呢,以前我们使用字体图标非常的麻烦 ,这里教给大家一种新的方法:通过类名调用字体图标
使用步骤
- HTML页面引入字体图标中css文件
- 标签直接调用图标对应的类名即可
老规矩,还是用一个简单的例子 这样大家就不用迷茫了,博主辛辛苦苦的为大家书写例题,一定要三步曲哟
类名是怎么来的呢:直接在style.css里面复制
效果图:
修改线性渐变色方法
图中的统计图呈现的是一个颜色渐变的效果 看起来很好看 一起来看看它是如何实现的吧
效果图:
注意修改的是option对象里面的color属性哟
方法一:提倡这种方法 比较简单
color:new echarts.graphic.LinearGradient(
//(x1,y2)点到点(x2,y2)之间进行渐变
0,0,0,1,
[
{offset:0,color:‘#00fffb’ },//0起始颜色
{offset:1,color:‘#0061ce’ },//1结束颜色
]
),
方法二:
// 修改线性渐变色方式 2
color: {
type: ‘linear’,
x: 0,
y: 0,
x2: 0,
y2: 1,
colorStops: [{
offset: 0, color: ‘red’ // 0% 处的颜色
}, {
offset: 1, color: ‘blue’ // 100% 处的颜色
}],
globalCoord: false // 缺省为 false
},
销售额统计模块
========
这个模块也是这个项目的一个难点;根据年、季、月、周的切换下面的数据相应的改变
效果图 :
前提是给我们的盒子添加对应的属性
<div class="sales panel">
<div class="inner">
<div class="caption">
<h3>销售额统计</h3>
<a href="javascript:;" class="active" data-type="year">年</a>
<a href="javascript:;" data-type="quarter">季</a>
<a href="javascript:;" data-type="month">月</a>
<a href="javascript:;" data-type="week">周</a>
</div>
<div class="chart">
<div class="label">单位:万</div>
<div class="line"></div>
</div>
</div>
</div>
现将我们的数据提前准备,等我们学到后面的时候,这些数据就是从后台实时获取的,因为现在没有学到,所以现在就是写死我们的数据
var data = {
year: [
[24, 40, 101, 134, 90, 230, 210, 230, 120, 230, 210, 120],
[40, 64, 191, 324, 290, 330, 310, 213, 180, 200, 180, 79]
],
quarter: [
[23, 75, 12, 97, 21, 67, 98, 21, 43, 64, 76, 38],
[43, 31, 65, 23, 78, 21, 82, 64, 43, 60, 19, 34]
],
month: [
[34, 87, 32, 76, 98, 12, 32, 87, 39, 36, 29, 36],
[56, 43, 98, 21, 56, 87, 43, 12, 43, 54, 12, 98]
],
week: [
[43, 73, 62, 54, 91, 54, 84, 43, 86, 43, 54, 53],
[32, 54, 34, 87, 32, 45, 62, 68, 93, 54, 54, 24]
]
年、季、月、周的自动切换
//切换
$('.sales .caption').on('click', 'a', function () {
//样式
index = $(this).index() - 1;
$(this).addClass("active").siblings("a").removeClass("active");
var currDate = data[this.dataset.type];
console.log(currDate);
option.series[0].data = currDate[0];
option.series[1].data = currDate[1];
// 重新配好的数据给实例对象
myChart.setOption(option)
})
根据tab的切换 获取相应的数据
var as = $(“.sales .caption a”);
var index = 0;
var timer = setInterval(function () {
index++;
if (index >= 4) {
index = 0;
}
as.eq(index).click();
}, 1000)
//鼠标进入停止定时器,离开,开启定时器
$(".sales").hover(function () {
clearInterval(timer);
}, function () {
clearInterval(timer);
timer = setInterval(function () {
index++;
if (index >= 4) {
index = 0;
}
as.eq(index).click();
}, 1000);
})
半圆形做法
前面只是教大家如何使用echarts图表,但是这种半圆里面是没有的,需要我们自己自己通过它提供的扇形图 自己修改 ,本质还以一个饼形
效果图:
做法:把一个饼形图分成三段,下面一段颜色设置为透明色即可,做一个拱形离不开的是将不透明的那一部分旋转正,在series里面设置调角度 其默认的角度是90度
startAngle :180 /起始角度,支持的范围是[0,360]
注意:此角度不是旋转角度,而是起始角度,
我们先来看看饼图的起始角度
上面这个图是我给大家准备的在线案例图,根据我的这个步骤,不会都很难啊
全国热榜模块制作
效果图: 从上面的动图 大家就可以知道这个模块要实现的功能,根据定时器 去切换到各省份相应的数据,与之前不同的是近30日的数据不是在html里面准备好的,而是动态的存储数据得到的,一起来看看它是如何实现的吧
从这个案例中我们要学到的知识点
- 实际开发中,后台返回的真实数据如何渲染到页面中
- ES6模版字符相关知识-拼接字符串
ES6模版字符:
`${表达式} ` //模版字符串使用返钩号‘’而且允许自动换行 反钩号是tab键上面的那个键
首先准备相关数据
首先来看它里面的属性 city、sales、flag是各省热销的数据 flag的值决定了箭头的方向,true就是箭头向上,反之则向下;
brands数组里面的对象是与城市相对应地数据模块,里面的flag属性和外面的含义一样
var hotData = [
{
city: “北京”,
sales: “25, 179”,
flag: true,
brands: [
// 品牌种类数据
{ name: “可爱多”, num: “9,086”, flag: true },
{ name: “哇哈哈”, num: “8,341”, flag: true },
{ name: “喜之郎”, num: “7,407”, flag: false },
{ name: “小旺仔”, num: “6,080”, flag: false },
{ name: “小洋人”, num: “6,724”, flag: false },
{ name: “好多鱼”, num: “2,170”, flag: true },
]
},
{
city: “上海”,
sales: “20, 760”,
flag: true,
brands: [
// 品牌种类数据
{ name: “可爱多”, num: “2,345”, flag: true },
{ name: “哇哈哈”, num: “7,109”, flag: true },
{ name: “喜之郎”, num: “3,701”, flag: false },
{ name: “小旺仔”, num: “6,080”, flag: false },
{ name: “小洋人”, num: “2,724”, flag: false },
{ name: “好多鱼”, num: “2,998”, flag: true },
]
},
{
city: “河北”,
sales: “21, 180”,
flag: false,
brands: [
// 品牌种类数据
{ name: “可爱多”, num: “8,907”, flag: true },
{ name: “哇哈哈”, num: “9,541”, flag: true },
{ name: “喜之郎”, num: “9,447”, flag: false },
{ name: “小旺仔”, num: “6,090”, flag: false },
{ name: “小洋人”, num: “5,924”, flag: false },
{ name: “好多鱼”, num: “2,870”, flag: true },
]
},
{
city: “江苏”,
sales: "28,148 ",
flag: false,
brands: [
// 品牌种类数据
{ name: “可爱多”, num: “9,889”, flag: true },
{ name: “哇哈哈”, num: “7,381”, flag: true },
{ name: “喜之郎”, num: “5,487”, flag: false },
{ name: “小旺仔”, num: “2,080”, flag: false },
{ name: “小洋人”, num: “6,924”, flag: false },
{ name: “好多鱼”, num: “2,770”, flag: true },
]
},
{
city: “山东”,
sales: “27, 874”,
flag: true,
brands: [
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)

最后
由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+点击【学习资料】即可获取!
漫长,而且极易碰到天花板技术停滞不前!**
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-JryEMnkn-1711764608206)]
[外链图片转存中…(img-soMAOPM7-1711764608206)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
[外链图片转存中…(img-p1N8EL0x-1711764608207)]
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)

最后
由于篇幅限制,pdf文档的详解资料太全面,细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容!有需要的程序猿(媛)可以帮忙点赞+点击【学习资料】即可获取!
[外链图片转存中…(img-wFmDkH7A-1711764608207)]
[外链图片转存中…(img-M9SYITP7-1711764608207)]
更多推荐
所有评论(0)