日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据可视化——echarts

發(fā)布時間:2024/3/13 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据可视化——echarts 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

目錄

?

一、可視化面板介紹

二、可視化庫介紹

三、Echarts-體驗

? ?1.引入echarts 插件文件到html頁面中

? ?2.準備一個具備大小的DOM容器

? ?3.初始化echarts實例對象

? ?4.指定配置項和數(shù)據(jù)(option)

? ?5.將配置項設(shè)置給echarts實例對象

四、Echarts-基礎(chǔ)配置

五、柱狀圖1

引入到html頁面中

2.根據(jù)需求定制

六、柱狀圖2

需求1: 修改圖形大小 grid

需求2: 不顯示x軸

需求3: y軸相關(guān)定制

需求4: 修改第一組柱子相關(guān)樣式(條狀)

需求5: 修改第二組柱子的相關(guān)配置(框狀)

需求6: 給y軸添加第二組數(shù)據(jù)

需求7: 設(shè)置兩組柱子層疊以及更換數(shù)據(jù)

完整代碼:

七、折線圖-人員變化模塊制作

八、折線圖-播放量模塊制作

九、餅形圖-年齡分布模塊制作

十、餅形圖-地區(qū)分布模塊制作(南丁格爾玫瑰圖)

十一、Echarts社區(qū)介紹


一、可視化面板介紹

應(yīng)對現(xiàn)在數(shù)據(jù)可視化的趨勢,越來越多企業(yè)需要在很多場景(營銷數(shù)據(jù),生產(chǎn)數(shù)據(jù),用戶數(shù)據(jù))下使用,可視化圖表來展示體現(xiàn)數(shù)據(jù),讓數(shù)據(jù)更加直觀,數(shù)據(jù)特點更加突出。

二、可視化庫介紹

常見的數(shù)據(jù)可視化庫:

  • D3.js 目前 Web 端評價最高的 Javascript 可視化工具庫(入手難)

  • ECharts.js 百度出品的一個開源 Javascript 數(shù)據(jù)可視化庫

  • Highcharts.js 國外的前端數(shù)據(jù)可視化庫,非商用免費,被許多國外大公司所使用

  • AntV 螞蟻金服全新一代數(shù)據(jù)可視化解決方案 等等

  • Highcharts 和 Echarts 就像是 Office 和 WPS 的關(guān)系

ECharts,一個使用 JavaScript 實現(xiàn)的開源可視化庫,可以流暢的運行在 PC 和移動設(shè)備上,兼容當前絕大部分瀏覽器(IE8/9/10/11,Chrome,Firefox,Safari等),底層依賴矢量圖形庫 ZRender,提供直觀,·交互豐富,可高度個性化定制的數(shù)據(jù)可視化圖表。

大白話:

  • 是一個JS插件

  • 性能好可流暢運行PC與移動設(shè)備

  • 兼容主流瀏覽器

  • 提供很多常用圖表,且可定制

    • 折線圖、柱狀圖、散點圖、餅圖、K線圖

官網(wǎng)地址:https://www.echartsjs.com/zh/index.html

中文版本網(wǎng)址:Documentation - Apache ECharts

三、Echarts-體驗

官方教程:五分鐘上手ECharts

  • 下載echarts GitHub - apache/echarts at 4.5.0

使用步驟:

? ?1.引入echarts 插件文件到html頁面中

? ?2.準備一個具備大小的DOM容器

<div id="main" style="width: 600px;height:400px;"></div>

? ?3.初始化echarts實例對象

var myChart = echarts.init(document.getElementById('main'));

? ?4.指定配置項和數(shù)據(jù)(option)

var option = {xAxis: {type: 'category',data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']},yAxis: {type: 'value'},series: [{data: [820, 932, 901, 934, 1290, 1330, 1320],type: 'line'}] };

? ?5.將配置項設(shè)置給echarts實例對象

myChart.setOption(option);

四、Echarts-基礎(chǔ)配置

這是要求同學們知道以下配置每個模塊的主要作用干什么的就可以了

需要了解的主要配置:series xAxis yAxis grid tooltip title legend color

  • series

    • 系列列表。每個系列通過 type 決定自己的圖表類型

    • 大白話:圖標數(shù)據(jù),指定什么類型的圖標,可以多個圖表重疊。

  • xAxis:直角坐標系 grid 中的 x 軸

    • boundaryGap: 坐標軸兩邊留白策略 true,這時候刻度只是作為分隔線,標簽和數(shù)據(jù)點都會在兩個刻度之間的帶(band)中間。

  • yAxis:直角坐標系 grid 中的 y 軸

  • grid:直角坐標系內(nèi)繪圖網(wǎng)格。

  • title:標題組件

  • tooltip:提示框組件

  • legend:圖例組件

  • color:調(diào)色盤顏色列表

    數(shù)據(jù)堆疊,同個類目軸上系列配置相同的stack值后 后一個系列的值會在前一個系列的值上相加。

option = {// color設(shè)置我們線條的顏色 注意后面是個數(shù)組color: ['pink', 'red', 'green', 'skyblue'],// 設(shè)置圖表的標題title: {text: '折線圖堆疊123'},// 圖表的提示框組件 tooltip: {// 觸發(fā)方式trigger: 'axis'},// 圖例組件legend: {// series里面有了 name值則 legend里面的data可以刪掉},// 網(wǎng)格配置 grid可以控制線形圖 柱狀圖 圖表大小grid: {left: '3%',right: '4%',bottom: '3%',// 是否顯示刻度標簽 如果是true 就顯示 否則反之containLabel: true},// 工具箱組件 可以另存為圖片等功能toolbox: {feature: {saveAsImage: {}}},// 設(shè)置x軸的相關(guān)配置xAxis: {type: 'category',// 是否讓我們的線條和坐標軸有縫隙boundaryGap: false,data: ['星期一', '周二', '周三', '周四', '周五', '周六', '周日']},// 設(shè)置y軸的相關(guān)配置yAxis: {type: 'value'},// 系列圖表配置 它決定著顯示那種類型的圖表series: [{name: '郵件營銷',type: 'line',data: [120, 132, 101, 134, 90, 230, 210]},{name: '聯(lián)盟廣告',type: 'line', ?data: [220, 182, 191, 234, 290, 330, 310]},{name: '視頻廣告',type: 'line',data: [150, 232, 201, 154, 190, 330, 410]},{name: '直接訪問',type: 'line',data: [320, 332, 301, 334, 390, 330, 320]}] }; ?

五、柱狀圖1

  • 官網(wǎng)找到類似實例, 適當分析,并且引入到HTML頁面中

  • 根據(jù)需求定制圖表

1.引入到html頁面中

// 柱狀圖1模塊 (function() {// 實例化對象let myChart = echarts.init(document.querySelector(".bar .chart"));// 指定配置和數(shù)據(jù)let option = {color: ["#3398DB"],tooltip: {trigger: "axis",axisPointer: {// 坐標軸指示器,坐標軸觸發(fā)有效type: "shadow" // 默認為直線,可選為:'line' | 'shadow'}},grid: {left: "3%",right: "4%",bottom: "3%",containLabel: true},xAxis: [{type: "category",data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],axisTick: {alignWithLabel: true}}],yAxis: [{type: "value"}],series: [{name: "直接訪問",type: "bar",barWidth: "60%",data: [10, 52, 200, 334, 390, 330, 220]}]}; ?// 把配置給實例對象myChart.setOption(option); })();

2.根據(jù)需求定制

  • ?修改圖表柱形顏色 #2f89cf

  • 修改圖表大小 top 為 10px bottom 為 4% grid決定我們的柱狀圖的大小

? color: ["#2f89cf"],grid: {left: "0%",top: "10px",right: "0%",bottom: "4%",containLabel: true},
  • X軸相關(guān)設(shè)置 xAxis

    • 文本顏色設(shè)置為 rgba(255,255,255,.6) 字體大小為 12px

    • X軸線的樣式 不顯示

? // 設(shè)置x軸標簽文字樣式// x軸的文字顏色和大小axisLabel: {color: "rgba(255,255,255,.6)",fontSize: "12"},// x軸樣式不顯示axisLine: {show: false// 如果想要設(shè)置單獨的線條樣式 // lineStyle: {// ? color: "rgba(255,255,255,.1)",// ? width: 1,// ? type: "solid"}}
  • Y 軸相關(guān)定制

    • 文本顏色設(shè)置為 rgba(255,255,255,.6) 字體大小為 12px

    • Y 軸線條樣式 更改為 1像素的 rgba(255,255,255,.1) 邊框

    • 分隔線的顏色修飾為 1像素的 rgba(255,255,255,.1)

? // y 軸文字標簽樣式axisLabel: {color: "rgba(255,255,255,.6)",fontSize: "12"},// y軸線條樣式axisLine: {lineStyle: {color: "rgba(255,255,255,.1)",// width: 1,// type: "solid"}},// y 軸分隔線樣式splitLine: {lineStyle: {color: "rgba(255,255,255,.1)"}}
  • 修改柱形為圓角以及柱子寬度 series 里面設(shè)置

series: [{name: "直接訪問",type: "bar",// 修改柱子寬度barWidth: "35%",data: [10, 52, 200, 334, 390, 330, 220],itemStyle: {// 修改柱子圓角barBorderRadius: 5}}]};
  • 更換對應(yīng)數(shù)據(jù)

? // x軸中更換data數(shù)據(jù)data: [ "旅游行業(yè)","教育培訓", "游戲行業(yè)", "醫(yī)療行業(yè)", "電商行業(yè)", "社交行業(yè)", "金融行業(yè)" ],// series 更換數(shù)據(jù)data: [200, 300, 300, 900, 1500, 1200, 600]
  • 讓圖表跟隨屏幕自適應(yīng)

?window.addEventListener("resize", function() {myChart.resize();});

六、柱狀圖2

  • 官網(wǎng)找到類似實例, 適當分析,并且引入到HTML頁面中

  • 根據(jù)需求定制圖表

需求1: 修改圖形大小 grid

?// 圖標位置grid: {top: "10%",left: "22%",bottom: "10%"},

需求2: 不顯示x軸

? xAxis: {show: false},

需求3: y軸相關(guān)定制

  • 不顯示y軸線和相關(guān)刻度

//不顯示y軸線條 axisLine: {show: false}, // 不顯示刻度 axisTick: {show: false },
  • y軸文字的顏色設(shè)置為白色

? axisLabel: {color: "#fff"},

需求4: 修改第一組柱子相關(guān)樣式(條狀)

name: "條", // 柱子之間的距離 barCategoryGap: 50, //柱子的寬度 barWidth: 10, // 柱子設(shè)為圓角 itemStyle: {normal: {barBorderRadius: 20, ? ? ? } },
  • 設(shè)置第一組柱子內(nèi)百分比顯示數(shù)據(jù)

// 圖形上的文本標簽 label: {normal: {show: true,// 圖形內(nèi)顯示position: "inside",// 文字的顯示格式formatter: "{c}%"} },
  • 設(shè)置第一組柱子不同顏色

// 聲明顏色數(shù)組 var myColor = ["#1089E7", "#F57474", "#56D0E3", "#F8B448", "#8B78F6"]; // 2. 給 itemStyle 里面的color 屬性設(shè)置一個 返回值函數(shù)itemStyle: {normal: {barBorderRadius: 20, ?color: function(params){// params 傳進來的是柱子對象console.log(params);// dataIndex 是當前柱子的索引號return myColor[params.dataIndex];}}},

需求5: 修改第二組柱子的相關(guān)配置(框狀)

? ?name: "框",type: "bar",barCategoryGap: 50,barWidth: 15,itemStyle: {color: "none",borderColor: "#00c1de",borderWidth: 3,barBorderRadius: 15},data: [19325, 23438, 31000, 121594, 134141, 681807]}

需求6: 給y軸添加第二組數(shù)據(jù)

yAxis: [{type: "category",data: ["印尼", "美國", "印度", "中國", "世界人口(萬)"],// 不顯示y軸的線axisLine: {show: false},// 不顯示刻度axisTick: {show: false},// 把刻度標簽里面的文字顏色設(shè)置為白色axisLabel: {color: "#fff"}},{show: true,data: [702, 350, 610, 793, 664],// 不顯示y軸的線axisLine: {show: false},// 不顯示刻度axisTick: {show: false},axisLabel: {textStyle: {fontSize: 12,color: "#fff"}}}],

需求7: 設(shè)置兩組柱子層疊以及更換數(shù)據(jù)

// 給series 第一個對象里面的 添加 yAxisIndex: 0, // 給series 第二個對象里面的 添加 yAxisIndex: 1, // series 第一個對象里面的data data: [70, 34, 60, 78, 69], // series 第二個對象里面的data data: [100, 100, 100, 100, 100], // y軸更換第一個對象更換data數(shù)據(jù) data: ["HTML5", "CSS3", "javascript", "VUE", "NODE"], // y軸更換第二個對象更換data數(shù)據(jù) data:[702, 350, 610, 793, 664],

完整代碼:

// 柱狀圖2 (function() {var myColor = ["#1089E7", "#F57474", "#56D0E3", "#F8B448", "#8B78F6"];// 1. 實例化對象var myChart = echarts.init(document.querySelector(".bar2 .chart"));// 2. 指定配置和數(shù)據(jù)var option = {grid: {top: "10%",left: "22%",bottom: "10%"// containLabel: true},// 不顯示x軸的相關(guān)信息xAxis: {show: false},yAxis: [{type: "category",inverse: true,data: ["HTML5", "CSS3", "javascript", "VUE", "NODE"],// 不顯示y軸的線axisLine: {show: false},// 不顯示刻度axisTick: {show: false},// 把刻度標簽里面的文字顏色設(shè)置為白色axisLabel: {color: "#fff"}},{data: [702, 350, 610, 793, 664],inverse: true,// 不顯示y軸的線axisLine: {show: false},// 不顯示刻度axisTick: {show: false},// 把刻度標簽里面的文字顏色設(shè)置為白色axisLabel: {color: "#fff"}}],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,// 顯示柱子內(nèi)的文字label: {show: true,position: "inside",// {c} 會自動的解析為 數(shù)據(jù) data里面的數(shù)據(jù)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}}]}; ?// 3. 把配置給實例對象myChart.setOption(option); })(); ?

七、折線圖-人員變化模塊制作

  • 官網(wǎng)找到類似實例, 適當分析,并且引入到HTML頁面中

  • 根據(jù)需求定制圖表

需求1: 修改折線圖大小,顯示邊框設(shè)置顏色:#012f4a,并且顯示刻度標簽。

? ?// 設(shè)置網(wǎng)格樣式grid: { top: '20%',left: '3%',right: '4%',bottom: '3%',show: true,// 顯示邊框borderColor: '#012f4a',// 邊框顏色containLabel: true // 包含刻度文字在內(nèi)},

需求2: 修改圖例組件中的文字顏色 #4c9bfd, 距離右側(cè) right 為 10%

// 圖例組件legend: {textStyle: {color: '#4c9bfd' // 圖例文字顏色},right: '10%' // 距離右邊10%},

需求3: x軸相關(guān)配置

  • 刻度去除

  • x軸刻度標簽字體顏色:#4c9bfd

  • 剔除x坐標軸線顏色(將來使用Y軸分割線)

  • 軸兩端是不需要內(nèi)間距 boundaryGap

?xAxis: {type: 'category',data: ["周一", "周二"],axisTick: {show: false // 去除刻度線},axisLabel: {color: '#4c9bfd' // 文本顏色},axisLine: {show: false // 去除軸線},boundaryGap: false ?// 去除軸內(nèi)間距},

需求4: y軸的定制

  • 刻度去除

  • 字體顏色:#4c9bfd

  • 分割線顏色:#012f4a

? ?yAxis: {type: 'value',axisTick: {show: false ?// 去除刻度},axisLabel: {color: '#B3B5C3' // 文字顏色},splitLine: {lineStyle: {color: '#012f4a' // 分割線顏色}}},

需求5: 兩條線形圖定制

  • 顏色分別:#00f2f1 #ed3f35

  • 把折線修飾為圓滑 series 數(shù)據(jù)中添加 smooth 為 true

?color: ['#00f2f1', '#ed3f35'],series: [{name:'新增粉絲',data: [820, 932, 901, 934, 1290, 1330, 1320],type: 'line',// 折線修飾為圓滑smooth: true,},{name:'新增游客',data: [100, 331, 200, 123, 233, 543, 400],type: 'line',smooth: true,}]

需求6: 配置數(shù)據(jù)

// x軸的文字 xAxis: {type: 'category',data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'], // 圖標數(shù)據(jù)series: [{name:'新增粉絲',data: [24, 40, 101, 134, 90, 230, 210, 230, 120, 230, 210, 120],type: 'line',smooth: true},{name:'新增游客',data: [40, 64, 191, 324, 290, 330, 310, 213, 180, 200, 180, 79], ? ? type: 'line',smooth: true}}]

需求7: 新增需求 點擊 2020年 2021年 數(shù)據(jù)發(fā)生變化

以下是后臺送過來數(shù)據(jù)(ajax請求過來的)

var yearData = [{year: '2020', ?// 年份data: [ ?// 兩個數(shù)組是因為有兩條線[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: '2021', ?// 年份data: [ ?// 兩個數(shù)組是因為有兩條線[123, 175, 112, 197, 121, 67, 98, 21, 43, 64, 76, 38],[143, 131, 165, 123, 178, 21, 82, 64, 43, 60, 19, 34]]}];
  • tab欄切換事件

  • 點擊2020按鈕 需要把 series 第一個對象里面的data 換成 2020年對象里面data[0]

  • 點擊2020按鈕 需要把 series 第二個對象里面的data 換成 2020年對象里面data[1]

  • 2021 按鈕同樣道理

完整代碼:

// 折線圖1模塊制作 (function() {var yearData = [{year: "2020", // 年份data: [// 兩個數(shù)組是因為有兩條線[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: "2021", // 年份data: [// 兩個數(shù)組是因為有兩條線[123, 175, 112, 197, 121, 67, 98, 21, 43, 64, 76, 38],[143, 131, 165, 123, 178, 21, 82, 64, 43, 60, 19, 34]]}];// 1. 實例化對象var myChart = echarts.init(document.querySelector(".line .chart"));// 2.指定配置var option = {// 通過這個color修改兩條線的顏色color: ["#00f2f1", "#ed3f35"],tooltip: {trigger: "axis"},legend: {// 如果series 對象有name 值,則 legend可以不用寫data// 修改圖例組件 文字顏色textStyle: {color: "#4c9bfd"},// 這個10% 必須加引號right: "10%"},grid: {top: "20%",left: "3%",right: "4%",bottom: "3%",show: true, // 顯示邊框borderColor: "#012f4a", // 邊框顏色containLabel: true // 包含刻度文字在內(nèi)}, ?xAxis: {type: "category",boundaryGap: false,data: ["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],axisTick: {show: false // 去除刻度線},axisLabel: {color: "#4c9bfd" // 文本顏色},axisLine: {show: false // 去除軸線}},yAxis: {type: "value",axisTick: {show: false // 去除刻度線},axisLabel: {color: "#4c9bfd" // 文本顏色},axisLine: {show: false // 去除軸線},splitLine: {lineStyle: {color: "#012f4a" // 分割線顏色}}},series: [{name: "新增粉絲",type: "line",// true 可以讓我們的折線顯示帶有弧度smooth: true,data: yearData[0].data[0]},{name: "新增游客",type: "line",smooth: true,data: yearData[0].data[1]}]}; ?// 3. 把配置給實例對象myChart.setOption(option);// 4. 讓圖表跟隨屏幕自動的去適應(yīng)window.addEventListener("resize", function() {myChart.resize();}); ?// 5.點擊切換效果$(".line h2").on("click", "a", function() {// alert(1);// console.log($(this).index());// 點擊 a 之后 根據(jù)當前a的索引號 找到對應(yīng)的 yearData的相關(guān)對象// 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);}); })();

八、折線圖-播放量模塊制作

  • 官網(wǎng)找到類似實例, 適當分析,并且引入到HTML頁面中

  • 根據(jù)需求定制圖表

需求1: 更換圖例組件文字顏色 rgba(255,255,255,.5) 文字大小為12 以及 提示框組件修改。

legend: {top: "0%",textStyle: {color: "rgba(255,255,255,.5)",fontSize: "12"} },tooltip: {trigger: 'axis',axisPointer: {type: 'line',lineStyle: {color: "yellow",type: "solid"}}},

需求2: 修改圖表大小

grid: {left: "10",top: "30",right: "10",bottom: "10",containLabel: true},

需求3: 修改x軸相關(guān)配置

  • 修改文本顏色為rgba(255,255,255,.6) 文字大小為 12

  • x軸線的顏色為 rgba(255,255,255,.2)

? ? // 文本顏色為rgba(255,255,255,.6) 文字大小為 12axisLabel: {textStyle: {color: "rgba(255,255,255,.6)",fontSize: 12}},// x軸線的顏色為 ? rgba(255,255,255,.2)axisLine: {lineStyle: {color: "rgba(255,255,255,.2)"}},

需求4: 修改y軸的相關(guān)配置

? ? ? ?axisTick: { show: false },axisLine: {lineStyle: {color: "rgba(255,255,255,.1)"}},axisLabel: {textStyle: {color: "rgba(255,255,255,.6)",fontSize: 12}},// 修改分割線的顏色splitLine: {lineStyle: {color: "rgba(255,255,255,.1)"}}

需求5: 修改兩個線模塊配置(注意在series 里面定制)

? //第一條 線是圓滑smooth: true,// 單獨修改線的樣式lineStyle: {color: "#0184d5",width: 2 },// 填充區(qū)域areaStyle: {// 漸變色,只需要復(fù)制即可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)" ? // 漸變線的結(jié)束顏色}],false),shadowColor: "rgba(0, 0, 0, 0.1)"},// 設(shè)置拐點 小圓點symbol: "circle",// 拐點大小symbolSize: 8,// 設(shè)置拐點顏色以及邊框itemStyle: {color: "#0184d5",borderColor: "rgba(221, 220, 107, .1)",borderWidth: 12},// 開始不顯示拐點, 鼠標經(jīng)過顯示showSymbol: false,name: "轉(zhuǎn)發(fā)量",type: "line",smooth: true,lineStyle: {normal: {color: "#00d887",width: 2}},areaStyle: {normal: {color: new echarts.graphic.LinearGradient(0,0,0,1,[{offset: 0,color: "rgba(0, 216, 135, 0.4)"},{offset: 0.8,color: "rgba(0, 216, 135, 0.1)"}],false),shadowColor: "rgba(0, 0, 0, 0.1)"}},// 設(shè)置拐點 小圓點symbol: "circle",// 拐點大小symbolSize: 5,// 設(shè)置拐點顏色以及邊框itemStyle: {color: "#00d887",borderColor: "rgba(221, 220, 107, .1)",borderWidth: 12},// 開始不顯示拐點, 鼠標經(jīng)過顯示showSymbol: false,

需求6: 更換數(shù)據(jù)

// x軸更換數(shù)據(jù) data: [ "01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","26","28","29","30"], // series 第一個對象data數(shù)據(jù)data: [30,40,30,40,30,40,30,60,20,40,20,40,30,40,30,40,30,40,30,60,20,40,20,40,30,60,20,40,20,40], // series 第二個對象data數(shù)據(jù)data: [50,30,50,60,10,50,30,50,60,40,60,40,80,30,50,60,10,50,30,70,20,50,10,40,50,30,70,20,50,10,40] ?

九、餅形圖-年齡分布模塊制作

  • 官網(wǎng)找到類似實例, 適當分析,并且引入到HTML頁面中

  • 根據(jù)需求定制圖表

定制圖表需求1:

  • 修改圖例組件在底部并且居中顯示。

  • 每個小圖標的寬度和高度修改為 10px

  • 文字大小為12 顏色 rgba(255,255,255,.5)

legend: {// 距離底部為0%bottom: "0%",// 小圖標的寬度和高度itemWidth: 10,itemHeight: 10,data: ['直接訪問', '郵件營銷', '聯(lián)盟廣告', '視頻廣告', '搜索引擎'],// 修改圖例組件的文字為 12pxtextStyle: {color: "rgba(255,255,255,.5)",fontSize: "12"}},

定制需求2:

  • 修改水平居中 垂直居中

  • 修改內(nèi)圓半徑和外圓半徑為 ["40%", "60%"] 老師友情提示,帶有直角坐標系的比如折線圖柱狀圖是 grid修改圖形大小,而我們餅形圖是通過 radius 修改大小

series: [{name: "年齡分布",type: "pie",// 設(shè)置餅形圖在容器中的位置center: ["50%", "50%"],// 修改內(nèi)圓半徑和外圓半徑為 百分比是相對于容器寬度來說的radius: ["40%", "60%"],// 不顯示標簽文字label: { show: false },// 不顯示連接線labelLine: { show: false },}]

定制需求3:更換數(shù)據(jù)

// legend 中的data 可省略 data: ["0歲以下", "20-29歲", "30-39歲", "40-49歲", "50歲以上"], // series 中的數(shù)據(jù)data: [{ value: 1, name: "0歲以下" },{ value: 4, name: "20-29歲" },{ value: 2, name: "30-39歲" },{ value: 2, name: "40-49歲" },{ value: 1, name: "50歲以上" }] ,

定制需求4: 更換顏色

color: ["#065aab","#066eab","#0682ab","#0696ab","#06a0ab",],// 4. 讓圖表跟隨屏幕自動的去適應(yīng)window.addEventListener("resize", function() {myChart.resize();});

十、餅形圖-地區(qū)分布模塊制作(南丁格爾玫瑰圖)

  • 官網(wǎng)找到類似實例, 適當分析,并且引入到HTML頁面中

  • 根據(jù)需求定制圖表

第二步:按照需求定制

  • 需求1:顏色設(shè)置

color: ['#006cff', '#60cda0', '#ed8884', '#ff9f7f', '#0096ff', '#9fe6b8', '#32c5e9', '#1d9dff'],
  • 需求2:修改餅形圖大小 ( series對象)

radius: ['10%', '70%'],
  • 需求3: 把餅形圖的顯示模式改為 半徑模式

roseType: "radius",
  • 需求4:數(shù)據(jù)使用更換(series對象 里面 data對象)

{ value: 20, name: '云南' },{ value: 26, name: '北京' },{ value: 24, name: '山東' },{ value: 25, name: '河北' },{ value: 20, name: '江蘇' },{ value: 25, name: '浙江' },{ value: 30, name: '四川' },{ value: 42, name: '湖北' }
  • 需求5:字體略小些 10 px ( series對象里面設(shè)置 )

    餅圖圖形上的文本標簽可以控制餅形圖的文字的一些樣式。 label 對象設(shè)置

series: [{name: "面積模式",type: "pie",radius: [30, 110],center: ["50%", "50%"],roseType: "radius",// 文本標簽控制餅形圖文字的相關(guān)樣式, 注意它是一個對象label: {fontSize: 10},}]};
  • 需求6:防止縮放的時候,引導(dǎo)線過長。引導(dǎo)線略短些 (series對象里面的 labelLine 對象設(shè)置 )

    • 連接圖表 6 px

    • 連接文字 8 px

+ // 文字調(diào)整 + label:{ + fontSize: 10 + }, + // 引導(dǎo)線調(diào)整 + labelLine: { + // 連接扇形圖線長 + length: 6, + // 連接文字線長 + length2: 8 + } + } + ],
  • 需求6:瀏覽器縮放的時候,圖表跟著自動適配。

// 監(jiān)聽瀏覽器縮放,圖表對象調(diào)用縮放resize函數(shù) window.addEventListener("resize", function() {myChart.resize();});

十一、Echarts社區(qū)介紹

注意:官方社區(qū)地址不能用了,需要自己去百度

[社區(qū)](Make A Pie就是一些,活躍的echart使用者,交流和貢獻定制好的圖表的地方。

?

  • 在這里可以找到一些基于echart的高度定制好的圖表,相當于基于jquery開發(fā)的插件,這里是基于echarts開發(fā)的第三方的圖表。

總結(jié)

以上是生活随笔為你收集整理的数据可视化——echarts的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。