最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue+elementUI中使用Echarts之餅圖問(wèn)題

 更新時(shí)間:2023年10月24日 09:28:40   作者:橘哥哥  
這篇文章主要介紹了vue+elementUI中使用Echarts之餅圖問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue elementUI使用Echarts之餅圖

實(shí)現(xiàn)效果如圖

老規(guī)矩先創(chuàng)建占位子的div

<div id="pieReport" style="width: 400px;height: 300px;"></div>

然后引入Echarts,并且模擬數(shù)據(jù)

export default {
  name: "",
  data() {
    return {
      charts: "",
      opinion: ["及格人數(shù)", "未及格人數(shù)"],
      opinionData: [
        { value: 12, name: "及格人數(shù)", itemStyle: "#1ab394" },
        { value: 18, name: "未及格人數(shù)", itemStyle: "#79d2c0" }
      ]
    };
  },
}

在methods中定義方法

drawPie(id) {
      this.charts = this.$echarts.init(document.getElementById(id));
      this.charts.setOption({
        tooltip: {
          trigger: "item",
          formatter: "{a}<br/>:{c} (wppm3vysvbp%)"
        },
        legend: {
          bottom: 10,
          left: "center",
          data: this.opinion
        },
        series: [
          {
            name: "狀態(tài)",
            type: "pie",
            radius: "65%",
            center: ["50%", "50%"],
            avoidLabelOverlap: false,
            itemStyle: {
              emphasis: {
                shadowBlur: 10,
                shadowOffsetX: 0,
                shadowColor: "rgba(0, 0, 0, 0.5)"
              },
              color: function(params) {
                //自定義顏色
                var colorList = ["#1ab394", "#79d2c0"];
                return colorList[params.dataIndex];
              }
            },
            data: this.opinionData
          }
        ]
      });
    },

在mounted中調(diào)用

mounted() {
    this.$nextTick(function() {
      this.drawPie("pieReport");
    });
  }

懶得寫了注釋了,將就看吧

echarts餅圖、柱狀圖、折線圖 切換

最近自學(xué)了一下如何運(yùn)用echarts制作各種圖表,首先我是用springboot+mybatis寫的后端。

TypeMapper接口中定義方法如下:

 /**
     * 查詢新聞種類以及數(shù)量
     * @return
     */
    List<Map<Object,Object>> list();

配置NewsMapper.xml文件如下:

 <select id="list" resultType="java.util.Map">
      select count(*) as num,b.type_name as typeName  from t_news a,t_type b where a.type_id=b.type_id group by a.type_id
 </select>

我這邊寫了一個(gè)連接求和查詢語(yǔ)句,返回值類型為Map類型,接下來(lái)常規(guī)寫TypeService和TypeServiceImpl,這里沒(méi)什么好說(shuō)的,跟TypeMapper基本一樣哈,接下來(lái)寫控制類NewsController,簡(jiǎn)要代碼如下:

@RestController
public class TypeController {
    @Autowired
    private ITypeService typeService;
    @RequestMapping("/count")
    public List<Map<Object,Object>> list(){
        List<Map<Object, Object>> list = typeService.list();
        return list;
    }
}

這里我是通過(guò)跨域獲取數(shù)據(jù),創(chuàng)建一個(gè)TypeChart組件,在index.js配置好路由后,開始以下代碼??!

<template>
    <div class="chart-container">
		<div id="chartPie" style="width:100%; height:550px;"></div>
	</div>
</template>
 
<script>
    export default {
        name: "Typechart",
		data() {
        	return {
        		chartPie: '',
				typeName: [],//新聞?lì)愋兔Q
				typeNum: [] //新聞?lì)愋蛿?shù)量
			}
		},
		methods: {
        	drawPieChart() {
        	    // 基于準(zhǔn)備好的dom,初始化echarts實(shí)例
				this.chartPie = this.$echarts.init(document.getElementById("chartPie"));
				this.chartPie.setOption({
					//設(shè)置標(biāo)題,副標(biāo)題,以及標(biāo)題位置居中
					title: {
						text: '影片統(tǒng)計(jì)(餅狀圖)',
						//subtext: '純屬虛構(gòu)',
						x: 'center'
					},
					//具體點(diǎn)擊某一項(xiàng)觸發(fā)的樣式內(nèi)容
					tooltip: {
						trigger: 'item',
						formatter: "{a} <br/> : {c} (wppm3vysvbp%)"
					},
					//左上側(cè)分類條形符
					legend: {
						orient: 'vertical',
						left: 'left',
						//通過(guò)跨域獲取數(shù)據(jù)給data賦值
						data: []
					},
					//餅狀圖類型以及數(shù)據(jù)源
					series: [
						{
							name: '統(tǒng)計(jì)數(shù)量',
							type: 'pie',
							//radius: '70%',
							//center: ['50%', '60%'],
							//通過(guò)跨域獲取數(shù)據(jù)給data賦值
							data: [],
							//設(shè)置餅狀圖扇形區(qū)域的樣式
							itemStyle: {
								emphasis: {
									shadowBlur: 10,
									shadowOffsetX: 0,
									shadowColor: 'rgba(0, 0, 0, 0.5)'
								}
							},
						}
					]
				});
			},
			//動(dòng)態(tài)獲取餅狀圖的數(shù)據(jù)
			async initData() {
			//url可以在action.js配置,我是學(xué)習(xí)期間習(xí)慣這樣哈哈!!
				var url="http://localhost:9090/news/count";
				this.axios.post(url,{}).then(res=>{
					console.log(res.data);
					var getData = [];
					//先進(jìn)行賦值
					console.log(res.data.length)
					//for循環(huán)賦值
					for(let i=0; i<res.data.length; i++) {
						var obj = new Object();
						obj.name = res.data[i].typeName;
						obj.value = res.data[i].num;
						getData[i] = obj;
					}
					//然后再給餅狀圖賦值
					this.chartPie.setOption({
						legend: {
							data: res.data.typeName,
						},
						series:[{
								data: getData,
							}]
					});
				})
        		
				
			},
			drawCharts() {
				this.drawPieChart();
			},
		},
		//頁(yè)面一加載就調(diào)用方法
		mounted () {
		    //先調(diào)用這個(gè)方法賦值
        	this.initData();
        	//再調(diào)用餅狀圖方法
			this.drawCharts();
		}
 
    }
 
</script>
 
<style scoped>
	.chart-container {
		width: 100%;
		float: left;
	}
</style>

先說(shuō)一下async的用法,它作為一個(gè)關(guān)鍵字放到函數(shù)前面,用于表示函數(shù)是一個(gè)異步函數(shù),因?yàn)閍sync就是異步的意思, 異步函數(shù)也就意味著該函數(shù)的執(zhí)行不會(huì)阻塞后面代碼的執(zhí)行。

運(yùn)行后圖如下:


在這里插入圖片描述

完成啦?。。?/p>

柱狀圖也可以根據(jù)上面的方法來(lái)寫??!

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue通過(guò)阿里云oss的url連接直接下載文件并修改文件名的方法

    Vue通過(guò)阿里云oss的url連接直接下載文件并修改文件名的方法

    這篇文章主要介紹了Vue通過(guò)阿里云oss的url連接直接下載文件并修改文件名的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 解決Vue打包后訪問(wèn)圖片/圖標(biāo)不顯示的問(wèn)題

    解決Vue打包后訪問(wèn)圖片/圖標(biāo)不顯示的問(wèn)題

    這篇文章主要介紹了 解決Vue打包后訪問(wèn)圖片/圖標(biāo)不顯示的問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考解決價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Vue+Element的后臺(tái)管理框架的整合實(shí)踐

    Vue+Element的后臺(tái)管理框架的整合實(shí)踐

    本文主要介紹了Vue+Element的后臺(tái)管理框架,在框架上,領(lǐng)導(dǎo)要用AdminLTE這套模板,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • Vue3 實(shí)現(xiàn)文件上傳功能

    Vue3 實(shí)現(xiàn)文件上傳功能

    在Vue3中實(shí)現(xiàn)文件上傳功能,你可以使用多種方法,包括使用原生的HTML <input type="file">元素,或者使用第三方庫(kù)如?axios和vue-axios來(lái)處理文件上傳,本文給大家介紹Vue3 實(shí)現(xiàn)文件上傳功能,感興趣的朋友一起看看吧
    2025-07-07
  • 解決Vue2.0 watch對(duì)象屬性變化監(jiān)聽不到的問(wèn)題

    解決Vue2.0 watch對(duì)象屬性變化監(jiān)聽不到的問(wèn)題

    今天小編就為大家分享一篇解決Vue2.0 watch對(duì)象屬性變化監(jiān)聽不到的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vue2.0 解決抽取公用js的問(wèn)題

    vue2.0 解決抽取公用js的問(wèn)題

    這篇文章主要介紹了vue2.0 解決抽取公用js的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Vue--keep-alive使用實(shí)例詳解

    Vue--keep-alive使用實(shí)例詳解

    這篇文章主要介紹了Vue--keep-alive使用實(shí)例詳解,keep-alive標(biāo)簽主要用于保留組件狀態(tài)或避免重新渲染,用示例代碼介紹Vue的keep-alive的用法,需要的朋友可以參考下
    2022-08-08
  • 程序員應(yīng)該知道的vuex冷門小技巧(超好用)

    程序員應(yīng)該知道的vuex冷門小技巧(超好用)

    Vue基本用法很容易上手,但是有很多優(yōu)化的寫法你就不一定知道了,下面這篇文章主要給大家介紹了關(guān)于程序員應(yīng)該知道的vuex冷門小技巧的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • vue?圖片路徑?“@/assets“?報(bào)錯(cuò)問(wèn)題及解決

    vue?圖片路徑?“@/assets“?報(bào)錯(cuò)問(wèn)題及解決

    這篇文章主要介紹了vue?圖片路徑?“@/assets“?報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue+elementUI實(shí)現(xiàn)點(diǎn)擊按鈕互斥效果

    vue+elementUI實(shí)現(xiàn)點(diǎn)擊按鈕互斥效果

    這篇文章主要為大家詳細(xì)介紹了vue+elementUI實(shí)現(xiàn)點(diǎn)擊按鈕互斥效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04

最新評(píng)論

威宁| 南郑县| 南昌市| 石棉县| 东山县| 五莲县| 商河县| 东安县| 满城县| 南汇区| 芒康县| 柏乡县| 汝城县| 三穗县| 水城县| 黔江区| 巴中市| 阿瓦提县| 诏安县| 普格县| 四会市| 丹江口市| 平顶山市| 新昌县| 长武县| 阿勒泰市| 岑溪市| 靖远县| 万年县| 石河子市| 垣曲县| 信宜市| 江油市| 三明市| 曲阜市| 安福县| 韶山市| 义马市| 潜山县| 华蓥市| 新野县|