vue數(shù)據(jù)可視化大屏開發(fā)(vue可視化面板怎么打開)
今天給各位分享vue數(shù)據(jù)可視化大屏開發(fā)的知識(shí),其中也會(huì)對(duì)vue可視化面板怎么打開進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關(guān)注本站,現(xiàn)在開始吧!
本文目錄一覽:
- 1、如何在網(wǎng)頁上實(shí)現(xiàn)千萬級(jí)別的大數(shù)據(jù)可視化渲染?
- 2、VUE的element-ui+echarts視圖可視化
- 3、在Vue項(xiàng)目中實(shí)現(xiàn)數(shù)據(jù)可視化操作
如何在網(wǎng)頁上實(shí)現(xiàn)千萬級(jí)別的大數(shù)據(jù)可視化渲染?
實(shí)現(xiàn)千萬級(jí)別的大數(shù)據(jù)可視化渲染技巧:
借助Echarts、HighCharts、D3.js等開源的可視化插件,嵌入代碼,開發(fā)成插件包,可視化工程師和前端開發(fā)常用。
代表工具FineReport(),通用的報(bào)表制作和數(shù)據(jù)可視化工具,是一個(gè)開放的商業(yè)報(bào)表工具。好比Excel,小到可以存儲(chǔ)統(tǒng)計(jì)數(shù)據(jù)、制作各式各樣的圖表、dashboard,大到制作財(cái)務(wù)報(bào)表、開發(fā)進(jìn)銷存系統(tǒng)。大家若不熟悉,可自行和Excel綁定對(duì)比。
Vue的背后
Vue是一套用于構(gòu)建用戶界面的漸進(jìn)式框架。與其它大型框架不同的是,Vue 被設(shè)計(jì)為可以自底向上逐層應(yīng)用。Vue 的核心庫只關(guān)注視圖層,不僅易于上手,還便于與第三方庫或既有項(xiàng)目整合。
另一方面,當(dāng)與現(xiàn)代化的工具鏈以及各種支持類庫結(jié)合使用時(shí),Vue 也完全能夠?yàn)閺?fù)雜的單頁應(yīng)用提供驅(qū)動(dòng)。用Vue的時(shí)候不需要開發(fā)者全部學(xué)會(huì),而是學(xué)一部分就可以用一部分,就可以簡(jiǎn)單概括為漸進(jìn)式的前端框架。
VUE的element-ui+echarts視圖可視化
template
? div class="bar-chart"
? ?div id="main" ref="main"
? ?/div
? /div
/template
script
/* 引入echarts組件 */
import * as echarts from 'echarts';
export default {
?name:"BarChart",
?mounted(){
?// 基于準(zhǔn)備好的dom,初始化echarts實(shí)例
?/* var myChart = echarts.init(document.getElementById('main')); */
?var myChart = echarts.init(this.$refs.main);
?// 繪制圖表
myChart.setOption({
? title: {
? ? text: '柱狀圖'
? },
? tooltip: {},
? xAxis: {
? ? ? axisLabel: {
? ? ? ? ? /* 顯示所有的x軸的數(shù)據(jù) */
? ? ? ? ? interval: 0,
? ? ? ? ? /* 放不下的傾斜角度 */
? ? ? ? ? rotate: 80,
? ? ? ? ? /* 數(shù)據(jù)距離刻度線的距離 */
? ? ? ? ? margin: 15,
? ? ? ? },
? ? /* data: ['襯衫', '羊毛衫', '雪紡衫', '褲子', '高跟鞋', '襪子'] */
? },
? yAxis: {},
? series: [
? ? {
? ? ? name: '銷量',
? ? ? type: 'bar',
? ? ? /* data: [5, 20, 36, 10, 10, 20] */
? ? ? data:[{
? ? ? ? ? value:5,
? ? ? ? ? name:'襯衫',
? ? ? ? ? /* 給某一柱子單獨(dú)設(shè)置顏色 */
? ? ? ? ? itemStyle:{
? ? ? ? ? ? ? color:{
? ? ? ? ? ? ? type:"linear",
? ? ? ? ? ? ? x:0,
? ? ? ? ? ? ? y:0,
? ? ? ? ? ? ? x2:0,
? ? ? ? ? ? ? y2:1,
? ? ? ? ? ? ? colorStops:[
? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? offset:0,
? ? ? ? ? ? ? ? ? ? ? color:"red"http://柱子最上面是紅色
? ? ? ? ? ? ? ? ? },{
? ? ? ? ? ? ? ? ? ? ? offset:1,
? ? ? ? ? ? ? ? ? ? ? color:'blue'//柱子最下面顏色藍(lán)色
? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ],
? ? ? ? ? ? ? global:false
? ? ? ? ? },
? ? ? ? },
? ? ? },
? ? ? {
? ? ? ? ? value:36,
? ? ? ? ? name:'雪紡衫',
? ? ? ? ? itemStyle:{
? ? ? ? ? ? ? color:{
? ? ? ? ? ? ? type:"linear",
? ? ? ? ? ? ? x:0,
? ? ? ? ? ? ? y:0,
? ? ? ? ? ? ? x2:0,
? ? ? ? ? ? ? y2:1,
? ? ? ? ? ? ? colorStops:[
? ? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? ? offset:0,
? ? ? ? ? ? ? ? ? ? ? color:"pink"http://柱子最上面是粉色
? ? ? ? ? ? ? ? ? },{
? ? ? ? ? ? ? ? ? ? ? offset:1,
? ? ? ? ? ? ? ? ? ? ? color:'yellow'//柱子最下面顏色黃色
? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ],
? ? ? ? ? ? ? global:false
? ? ? ? ? },
? ? ? ? },
? ? ? },{
? ? ? ? ? value:10,
? ? ? ? ? name:'褲子'
? ? ? },{
? ? ? ? ? value:10,
? ? ? ? ? name:'高跟鞋'
? ? ? },{
? ? ? ? ? value:20,
? ? ? ? ? name:'襪子'
? ? ? }
? ? ? ]
? ? }
? ]
});
window.BarChart = myChart
?}
}
/script
style scoped lang="scss"
#main{
? ? height: 300px;
}
/style
template
? div class="line-chart"
? ?div id="main" ref="main"
? ?/div
? /div
/template
script
/* 引入echarts組件 */
import * as echarts from 'echarts';
export default {
?name:"LineChart",
?mounted(){
?// 基于準(zhǔn)備好的dom,初始化echarts實(shí)例
?/* var myChart = echarts.init(document.getElementById('main')); */
?var myChart = echarts.init(this.$refs.main);
?// 繪制圖表
myChart.setOption({
? title: {
? ? text: '折線圖'
? },
? tooltip: {},
? xAxis: {
? ? ? axisLabel: {
? ? ? ? ? /* 顯示所有的x軸的數(shù)據(jù) */
? ? ? ? ? interval: 0,
? ? ? ? ? /* 放不下的傾斜角度 */
? ? ? ? ? rotate: 0,
? ? ? ? ? /* 數(shù)據(jù)距離刻度線的距離 */
? ? ? ? ? margin: 15,
? ? ? ? },
? ? data: ['襯衫', '羊毛衫', '雪紡衫', '褲子', '高跟鞋', '襪子']
? },
? yAxis: {},
? series: [
? ? {
? ? ? name: '銷量',
? ? ? type: 'line',
? ? ? data: [5, 20, 36, 10, 10, 20]
? ? }
? ]
});
window.LineChart = myChart
?}
}
/script
style scoped lang="scss"
#main{
? ? height: 300px;
}
/style
template
? div class="pie-chart"
? ?div id="main" ref="main"
? ?/div
? /div
/template
script
/* 引入echarts組件 */
import * as echarts from 'echarts';
export default {
?name:"PieChart",
?mounted(){
?// 基于準(zhǔn)備好的dom,初始化echarts實(shí)例
?/* var myChart = echarts.init(document.getElementById('main')); */
?var myChart = echarts.init(this.$refs.main);
?/* ref 是dom本身不是id */
?// 繪制圖表
myChart.setOption({
? title: {
? ? text: '餅圖'
? },
? /* grid:{
? width:'50%',
? height:'50%'
? }, */
? /* radius:'50%', */
? tooltip: {},
? xAxis: {
? ? ? show:false,
? ? /* data: ['襯衫', '羊毛衫', '雪紡衫', '褲子', '高跟鞋', '襪子'] */
? },
? yAxis: {
? ? ? show:false,
? },
? series: [
? ? {
? ? ? name: '銷量',
? ? ? type: 'pie',
? ? ? /* data: [5, 20, 36, 10, 10, 20] */
? ? ? data:[{
? ? ? ? ? value:5,
? ? ? ? ? name:'襯衫'
? ? ? },{
? ? ? ? ? value:20,
? ? ? ? ? name:'羊毛衫'
? ? ? },{
? ? ? ? ? value:36,
? ? ? ? ? name:'雪紡衫'
? ? ? },{
? ? ? ? ? value:10,
? ? ? ? ? name:'褲子'
? ? ? },{
? ? ? ? ? value:10,
? ? ? ? ? name:'高跟鞋'
? ? ? },{
? ? ? ? ? value:20,
? ? ? ? ? name:'襪子'
? ? ? }
? ? ? ]
? ? }
? ]
});
window.PieChart = myChart
?}
}
/script
style scoped lang="scss"
#main{
? ? height: 300px;
? ? width: 250px;
}
/style
template
? div
? ? !-- el-row 表示一行 一行分成了24份
? ? :gutter="12" ?表示間隔的大小為12份--
? ? !-- el-col 表示一列 ?:span="8"表示一列占據(jù)一行8份的大小
? ? 3個(gè):span="8" 表示占據(jù)三行--
? ? ?el-row :gutter="5"
? el-col :span="8"
? ? !-- el-card shadow="always" 卡片陰影效果一直顯示 --
? ? !-- shadow="hover" 卡片陰影效果手摸上去顯示 --
? ? !-- shadow="never" 陰影效果永不顯示--
? ? el-card shadow="always"
? ? ? bar-chart/bar-chart
? ? /el-card
? /el-col
? el-col :span="8"
? ? el-card shadow="always"
? ? ? line-chart/line-chart
? ? /el-card
? /el-col
? el-col :span="8"
? ? el-card shadow="always"
? ? ? pie-chart /
? ? /el-card
? /el-col
? /el-row
? el-row :gutter="10" style="margin-top:15px"
? el-col :span="24"
? ? el-card shadow="always"
? ? ? 中國(guó)地圖
? ? /el-card
? /el-col
/el-row
? /div
/template
script
import BarChart from '@/components/BarChart.vue'
import LineChart from '@/components/LineChart.vue'
import PieChart from '@/components/PieChart.vue'
export default {
? components:{
? ? ?BarChart,
? ? ?LineChart,
? ? ?PieChart
? },
? mounted(){
? ? /* 頁面尺寸一邊畫 就重新 resize 渲染圖標(biāo)*/
? ? window.onresize = function (){
? ? ? ? window.BarChart.resize();
? ? ? window.LineChart.resize();
? ? ? window.PieChart.resize();
? ? }
? }
};
/script
style
/style
在Vue項(xiàng)目中實(shí)現(xiàn)數(shù)據(jù)可視化操作
????????話說最近一直在攻在網(wǎng)上花二十塊大洋買的vue音樂播放器項(xiàng)目,收獲頗多!對(duì)vue項(xiàng)目整體的流程有了更進(jìn)一步的了解,打算花點(diǎn)空余時(shí)間把這個(gè)項(xiàng)目再擼幾遍,然后轉(zhuǎn)入京東的項(xiàng)目實(shí)戰(zhàn)中。。。
? ????? 實(shí)際工作中一直涉及的是數(shù)據(jù)可視化操作(Echarts、Highcharts),即大量數(shù)據(jù)圖表展示,卻獨(dú)獨(dú)沒有用到丁點(diǎn)兒的vue知識(shí),感覺實(shí)在是讓人憋得心慌,晚上沒事干脆試驗(yàn)一把,如題:在Vue項(xiàng)目中實(shí)現(xiàn)數(shù)據(jù)可視化操作
Echarts ?步驟:
一、安裝插件
? ? ? ? cnpm install echarts -D
注:echarts 也不能通過 Vue.use() 進(jìn)行全局調(diào)用
所以,通常在需要使用圖表的 .vue文件中直接引入
import echarts from 'echarts'
也可以在main.js中引入,然后修改原型鏈
Vue.prototype.$echarts = echarts
這樣在全局中就可以直接使用了
let mychart = this.$echarts.init(document.getElementById('mychart'))
二、創(chuàng)建圖表
? ? ? ? 由于一般情況我們會(huì)在組件中使用,這里我也貼近實(shí)際開發(fā),舉的例子就是應(yīng)用于組件中
數(shù)據(jù)導(dǎo)入
這樣圖表就可以在頁面中展示出來了
問題:這里引入的 echarts 包含了所有圖表,但有時(shí)候我們只需要一兩個(gè)基本圖表,這時(shí)候完整的 echarts 就顯得累贅,所以:
二、按需引入
? ??// 引入基本模板letecharts = require('echarts/lib/echarts')
? // 引入餅圖組件require('echarts/lib/chart/pie')
? // 引入提示框和圖例組件require('echarts/lib/component/tooltip')
? require('echarts/lib/component/legend')
可以按需引入的模塊列表見
繼續(xù)引出問題:在echarts中圖表寬高如果不寫,那么就相當(dāng)于作死,所以nozuonodie,所以:
三、適應(yīng)容器
let chartBox = document.getElementsByClassName('charts')[0]
let myChart = document.getElementById('myChart')
// 用于使chart自適應(yīng)高度和寬度,通過窗體高寬計(jì)算容器高寬
function resizeCharts () {
? myChart.style.width = chartBox.style.width + 'px'
? myChart.style.height = chartBox.style.height + 'px'
}
// 設(shè)置容器高寬
resizeCharts()
let mainChart = echarts.init(myChart)
mainChart.setOption(options)
四、擴(kuò)展
可以把這個(gè)案例模塊化,設(shè)計(jì)成一個(gè)可復(fù)用組件,只需傳入id、options既可完成圖表渲染
參考案例:
剛好,參考案例中用的是highcharts
關(guān)于vue數(shù)據(jù)可視化大屏開發(fā)和vue可視化面板怎么打開的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
掃描二維碼推送至手機(jī)訪問。
版權(quán)聲明:本文由飛速云SEO網(wǎng)絡(luò)優(yōu)化推廣發(fā)布,如需轉(zhuǎn)載請(qǐng)注明出處。