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

vue+elementUI中使用Echarts之餅圖問題

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

vue elementUI使用Echarts之餅圖

實現(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>

我這邊寫了一個連接求和查詢語句,返回值類型為Map類型,接下來常規(guī)寫TypeService和TypeServiceImpl,這里沒什么好說的,跟TypeMapper基本一樣哈,接下來寫控制類NewsController,簡要代碼如下:

@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;
    }
}

這里我是通過跨域獲取數(shù)據(jù),創(chuàng)建一個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: [],//新聞類型名稱
				typeNum: [] //新聞類型數(shù)量
			}
		},
		methods: {
        	drawPieChart() {
        	    // 基于準(zhǔn)備好的dom,初始化echarts實例
				this.chartPie = this.$echarts.init(document.getElementById("chartPie"));
				this.chartPie.setOption({
					//設(shè)置標(biāo)題,副標(biāo)題,以及標(biāo)題位置居中
					title: {
						text: '影片統(tǒng)計(餅狀圖)',
						//subtext: '純屬虛構(gòu)',
						x: 'center'
					},
					//具體點(diǎn)擊某一項觸發(fā)的樣式內(nèi)容
					tooltip: {
						trigger: 'item',
						formatter: "{a} <br/> : {c} (wppm3vysvbp%)"
					},
					//左上側(cè)分類條形符
					legend: {
						orient: 'vertical',
						left: 'left',
						//通過跨域獲取數(shù)據(jù)給data賦值
						data: []
					},
					//餅狀圖類型以及數(shù)據(jù)源
					series: [
						{
							name: '統(tǒng)計數(shù)量',
							type: 'pie',
							//radius: '70%',
							//center: ['50%', '60%'],
							//通過跨域獲取數(shù)據(jù)給data賦值
							data: [],
							//設(shè)置餅狀圖扇形區(qū)域的樣式
							itemStyle: {
								emphasis: {
									shadowBlur: 10,
									shadowOffsetX: 0,
									shadowColor: 'rgba(0, 0, 0, 0.5)'
								}
							},
						}
					]
				});
			},
			//動態(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();
			},
		},
		//頁面一加載就調(diào)用方法
		mounted () {
		    //先調(diào)用這個方法賦值
        	this.initData();
        	//再調(diào)用餅狀圖方法
			this.drawCharts();
		}
 
    }
 
</script>
 
<style scoped>
	.chart-container {
		width: 100%;
		float: left;
	}
</style>

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

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


在這里插入圖片描述

完成啦?。?!

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

總結(jié)

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

相關(guān)文章

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

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

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

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

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

    Vue+Element的后臺管理框架的整合實踐

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

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

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

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

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

    vue2.0 解決抽取公用js的問題

    這篇文章主要介紹了vue2.0 解決抽取公用js的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Vue--keep-alive使用實例詳解

    Vue--keep-alive使用實例詳解

    這篇文章主要介紹了Vue--keep-alive使用實例詳解,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“?報錯問題及解決

    vue?圖片路徑?“@/assets“?報錯問題及解決

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

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

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

最新評論

广东省| 凤阳县| 尼勒克县| 当雄县| 常德市| 屏山县| 江华| 深州市| 新乡县| 盈江县| 盐山县| 乌拉特前旗| 云梦县| 柯坪县| 本溪市| 博湖县| 若羌县| 桂林市| 通化市| 南汇区| 青铜峡市| 永城市| 柯坪县| 慈利县| 黑水县| 青龙| 台前县| 麻栗坡县| 苏尼特左旗| 西林县| 甘肃省| 木兰县| 建阳市| 丰城市| 册亨县| 汉阴县| 墨玉县| 吴忠市| 大新县| 七台河市| 新绛县|