vue-作图
实训背景:
随着互联网行业的快速发展,网络购物、网上支付、移动电子商户的数量急剧增加,商品爆仓成为了困扰物流企业的一大难题,加强物流仓储管理的智能化、自动化升级已经成为提高现代企业物流运转效率的重要手段。大数据在物流领域的应用主要包括:市场预测、优化配送线路、物流运送量分析、物流盈亏分析等
实训任务:
(1)掌握搭建Vue项目的步骤
(2)会使用HTML+CSS布局网页
(3)能够使用vue-router实现路由切换
(4)能够结合ECharts绘制可视化图表
(5)能够请求JSON数据渲染图表
(6)绘制收费站收费量簇状柱形图
(7)绘制不同运输方式的货流量折线图
(8)绘制2022年月度客运量累计占比饼图
(9)绘制本月较上月发生的交通事故雷达图
(10)绘制每年公共交通出行次数占比玫瑰图
(11)绘制各分公司的运输成本与毛利柱折混合图
(12)绘制不同运输方式的运送量柱形图
(13)绘制各类型商品运输数量占比玫瑰图
(14)绘制全国便利店数量TOP10分布条形图
(15)绘制不同签单类型的数量玫瑰图
实训环境:
开发工具:VSCode
运行环境:node 18.16.0
管理工具:npm 9.5.1
实训要求:
基于Vue+ECharts相关知识点实现交通运输物流行业数据可视化,要求使用Vue搭建项目,使用HTML+CSS布局网页,使用vue-router实现路由切换,使用ECharts绘制可视化图表,请求JSON数据渲染图表,本项目最终包含2个页面(交通可视化页面和物流可视化页面),2个页面一共包含10个图表,每个页面效果如下图示:
交通可视化页面

物流可视化页面

本项目要求结合ECharts实现可视化图表,那么什么是ECharts?下面详细介绍
ECharts是什么?
商业级数据图表,它是一个纯JavaScript的图表库,兼容绝大部分的浏览器,底层依赖轻量级的canvas类库ZRender,提供直观,生动,可交互,可高度个性化定制的数据可视化图表。创新的拖拽重计算、数据视图、值域漫游等特性大大增强了用户体验,赋予了用户对数据进行挖掘、整合的能力。
Echarts支持的图表有折线图(区域图)、柱状图(条状图)、散点图(气泡图)、K线图、饼图(环形图)、雷达图(填充雷达图)、和弦图、力导向布局图、地图、仪表盘、漏斗图、事件河流图等12类图表。
很容易在vue.js中使用ECharts绘制各种可视化图表。
在vue.js中使用ECharts绘图
安装echarts包
首先需要在项目中安装echarts依赖包。这可以使用npm来安装:
npm install echarts
然后在你vue项目的js文件中使用import导入它:
import * as echarts from 'echarts';
简单示例
Vue.js+ vue-router可以很简单的实现单页应用
router-link是一个组件,该组件用于设置一个导航链接,切换不同HTML内容。 to属性为目标地址, 即要显示的内容。
以下实例中我们将vue-router加进来,然后配置组件和路由映射,再告诉vue-router在哪里渲染它们。代码如下所示:
<script src="https://unpkg.com/vue@3"></script>
<script src="https://unpkg.com/vue-router@4"></script>
<div id="app">
<h1>Hello App!</h1>
<p>
<!--使用 router-link 组件进行导航 -->
<!--通过传递 `to` 来指定链接 -->
<!--`<router-link>` 将呈现一个带有正确 `href` 属性的 `<a>` 标签-->
<router-link to="/">Go to Home</router-link>
<router-link to="/about">Go to About</router-link>
</p>
<!-- 路由出口 -->
<!-- 路由匹配到的组件将渲染在这里 -->
<router-view></router-view>
</div>
router-link
请注意,我们没有使用常规的a标签,而是使用一个自定义组件router-link来创建链接。这使得 vue router可以在不重新加载页面的情况下更改URL,处理URL的生成以及编码
router-view
router-view将显示与url对应的组件。你可以把它放在任何地方,以适应你的布局
// 1. 定义路由组件.
// 也可以从其他文件导入
const Home = { template: '<div>Home</div>' }
const About = { template: '<div>About</div>' }
// 2. 定义一些路由
// 每个路由都需要映射到一个组件。
// 我们后面再讨论嵌套路由。
const routes = [
{ path: '/', component: Home },
{ path: '/about', component: About },
]
// 3. 创建路由实例并传递 `routes` 配置
// 你可以在这里输入更多的配置,但我们在这里
// 暂时保持简单
const router = VueRouter.createRouter({
// 4. 内部提供了 history 模式的实现。为了简单起见,我们在这里使用 hash 模式。
history: VueRouter.createWebHashHistory(),
routes, // `routes: routes` 的缩写
})
// 5. 创建并挂载根实例
const app = Vue.createApp({})
//确保 _use_ 路由实例使
//整个应用支持路由。
app.use(router)
app.mount('#app')
// 现在,应用已经启动了!
由于需要依赖jQuery来请求JSON数据,所以如果想在普通的HTML页面引入jQuer库的话,直接使用script标签引入即可。但是如果要在Vue组件中使用jQuery库的话,使用这样的方式就不行了,那么怎样在Vue中使用jQuery呢?下面给大家介绍一下。
如何在Vue中使用jQuery
安装jQuery依赖
在使用jQuery之前,我们首先要通过以下命令来安装jQuery依赖:
npm install jquery
在组件中引入jquery
我们想在哪个组件中使用jQuery库,要使用import引入jquery,然后就可以正常使用了:
import $ from 'jquery';
在绘制图表之前,需要我们基于Vue来创建Vue项目,具体步骤如下:
(1)在桌面中创建一个名为“vue-demo”的vue项目;
注意:项目名不能有大写字母,中文和特殊符号
(2)创建完成后,进入项目目录,并启动应用;
(3)打开浏览器, 访问localhost地址,打开应用程序的界面,如下图示:

智能考核,检测通过即完成
考核条件如下:
首先在桌面中创建一个名为“vue-demo”的vue项目,执行如下命令:
vue create vue-demo
创建完成后,进入项目目录,命令如下:
cd vue-demo
启动应用,命令如下:
npm run serve
打开浏览器, 访问localhost地址,打开应用程序的界面,如下图示:

安装ECharts
创建好Vue项目之后,基于该项目还需要结合ECharts实现可视化图表,因此需要在项目中安装ECharts依赖包,具体实现步骤如下:
(1)在项目中安装echarts依赖包;
(2)安装好以后,绘图时需要在vue项目的js文件中使用import导入;
安装vue-router
如果还没有安装vue-router,那么需要使用npm包管理器安装它,命令如下:
npm install vue-router
安装jQuery
如果要在Vue组件中使用jQuery库的话,需要安装jQuery依赖,具体实现步骤如下:
(1)在项目中安装jquery依赖包;
(2)在哪个组件中使用jQuery库,使用使用import引入jquery即可。
注意:可以先在项目中安装echarts、vue-router和jquery依赖包,然后需要使用依赖包时再到相应的页面中导入依赖包,否则会报错。
本任务为学习任务,练习后请标记完成
安装ECharts
(1)在项目中安装echarts依赖包;
npm install echarts
(2)安装好以后,绘图时需要在vue项目的js文件中使用import导入;
import * as echarts from 'echarts'
安装vue-router
如果还没有安装vue-router,那么需要使用npm包管理器安装它,命令如下:
npm install vue-router
安装jQuery
(1)在使用jQuery之前,首先要通过以下命令来安装jQuery依赖:
npm install jquery
(2)我们想在哪个组件中使用jQuery库,首先要使用如下命令引入jquery,然后就可以正常使用了:
import $ from 'jquery';
项目分析
通过效果图展示,可以看出页面分为交通可视化和物流可视化,其中,交通可视化页面包含5个图表,分别是簇状柱形图、折线图、饼图、雷达图和玫瑰图;物流可视化页面包含5个图表,分别是柱折混合图、柱形图、玫瑰图、条形图和玫瑰图。
所以根据分析,需要在APP.vue中使用router-link组件进行导航的制作,另外需要再创建2个页面,用于分别展示交通可视化以及物流可视化的相关图表。
2个页面分别为:(注意:需要在“/home/qingjiao/Desktop/vue-demo/src/”目录下新建一个“views”的目录,并将这2个文件存放在其中)
(1)Traffic.vue,用于展示交通可视化的相关图表
(2)Logistics.vue,用于展示物流可视化的相关图表
最后,还需要在main.js中配置路由。
实现步骤
编写APP.vue中的代码,需求如下:
(1)为整个页面设置宽度和高度,并添加背景图片;
注意:背景图片存放在“/home/qingjiao/vue-info/bg/”文件夹中,请从此目录获取背景图片,获取到后,将图片存放在“/home/qingjiao/vue-demo/src/assets/”文件夹中。
(2)创建h2标题标签,并设置高度和行高为60像素,文本居中显示;
(3)创建列表,使用router-link组件进行导航,通过传递to来指定链接,并为导航添加样式,以及鼠标滑过时的效果;
(4)创建一个盒子,命名为pages,路由匹配到的组件将渲染在这里;
此部分默认效果:

鼠标滑过导航时的效果:

分别编写Traffic.vue、Logistics.vue中的代码,需求如下:
注意:这里主要搭建结构,后面的步骤再介绍如何绘制图表
(1)由于交通可视化和物流可视化页面的5个图表均分为上下结构,所以两个页面均需要创建2个div盒子,盒子1用于展示上面的两个图表,盒子2用于展示下面的三个图表;
(2)结构搭建好后,再为盒子添加设置宽度、高度、浮动、间距等样式即可;
编写main.js中的代码,需求如下:
(1)使用import导入vue router;
(2)定义路由组件和路由映射;
(3)创建路由实例并传递 routes配置;
(4)创建并挂载根实例;
智能考核,检测通过即完成
考核条件如下:
1. App.vue关键代码考核
条件得分:
10/10
操作环境:
ubuntu-web可视化-vue
2. Traffic.vue关键代码考核
条件得分:
10/10
操作环境:
ubuntu-web可视化-vue
3. Logistics.vue关键代码考核
条件得分:
10/10
操作环境:
ubuntu-web可视化-vue




















浙公网安备 33010602011771号