欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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} (vvxyksv9kd%)"
        },
        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餅圖、柱狀圖、折線圖 切換

最近自學了一下如何運用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() {
        	    // 基于準備好的dom,初始化echarts實例
				this.chartPie = this.$echarts.init(document.getElementById("chartPie"));
				this.chartPie.setOption({
					//設(shè)置標題,副標題,以及標題位置居中
					title: {
						text: '影片統(tǒng)計(餅狀圖)',
						//subtext: '純屬虛構(gòu)',
						x: 'center'
					},
					//具體點擊某一項觸發(fā)的樣式內(nèi)容
					tooltip: {
						trigger: 'item',
						formatter: "{a} <br/> : {c} (vvxyksv9kd%)"
					},
					//左上側(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配置,我是學習期間習慣這樣哈哈!!
				var url="http://localhost:9090/news/count";
				this.axios.post(url,{}).then(res=>{
					console.log(res.data);
					var getData = [];
					//先進行賦值
					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í)行。

運行后圖如下:


在這里插入圖片描述

完成啦?。?!

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

總結(jié)

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

相關(guān)文章

  • DeepSeek?助力?Vue?開發(fā)絲滑的表單驗證Form?Validation功能

    DeepSeek?助力?Vue?開發(fā)絲滑的表單驗證Form?Validation功能

    文章介紹了如何使用Vue3的組合式API創(chuàng)建一個表單驗證組件,并提供了詳細的代碼示例,組件支持雙向綁定、自定義驗證規(guī)則、樣式和布局等功能,還涵蓋了組件的調(diào)用示例、路由配置和頁面展示入口
    2025-02-02
  • 如何查看vue項目的node版本

    如何查看vue項目的node版本

    文章總結(jié):查看Vue項目中使用的Node版本,特別是當項目使用Yarn和TypeScript時,可以通過查看yarn.lock文件中的@types/node@version來確定版本
    2025-01-01
  • vue+elementUI實現(xiàn)內(nèi)嵌table的方法示例

    vue+elementUI實現(xiàn)內(nèi)嵌table的方法示例

    本文主要介紹了vue+elementUI實現(xiàn)內(nèi)嵌table的方法示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • 淺談關(guān)于vue中scss公用的解決方案

    淺談關(guān)于vue中scss公用的解決方案

    這篇文章主要介紹了淺談關(guān)于vue中scss公用的解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • vue項目history模式刷新404問題解決辦法

    vue項目history模式刷新404問題解決辦法

    這篇文章主要給大家介紹了關(guān)于vue項目history模式刷新404問題的解決辦法,需要的朋友可以參考下
    2023-11-11
  • Vue利用computed解決單項數(shù)據(jù)流的問題

    Vue利用computed解決單項數(shù)據(jù)流的問題

    Vue是一個非常流行和強大的前端框架,它讓我們可以用簡潔和優(yōu)雅的方式來構(gòu)建用戶界面,但是,Vue也有一些需要注意和掌握的細節(jié)和技巧,今天我們來分享一個Vue中非常經(jīng)典的問題,也是一個非常實用的技巧,Vue利用computed解決單項數(shù)據(jù)流,需要的朋友可以參考下
    2023-08-08
  • vue本地構(gòu)建熱更新卡頓的問題“75?advanced?module?optimization”完美解決方案

    vue本地構(gòu)建熱更新卡頓的問題“75?advanced?module?optimization”完美解決方案

    這篇文章主要介紹了vue本地構(gòu)建熱更新卡頓的問題“75?advanced?module?optimization”解決方案,每次熱更新都會卡在?"75?advanced?module?optimization"?的地方不動了,如何解決這個問題呢,下面小編給大家?guī)砹私鉀Q方案,需要的朋友可以參考下
    2022-08-08
  • Antd的table組件表格的序號自增操作

    Antd的table組件表格的序號自增操作

    這篇文章主要介紹了Antd的table組件表格的序號自增操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • 解決vue2中使用elementUi打包報錯的問題

    解決vue2中使用elementUi打包報錯的問題

    這篇文章主要介紹了解決vue2中使用elementUi打包報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Vue設(shè)置select下拉框的默認選項詳解(select空白bug解決)

    Vue設(shè)置select下拉框的默認選項詳解(select空白bug解決)

    最近開始學習vue,在學習的過程中遇到的問題將記錄在這里,下面這篇文章主要給大家介紹了關(guān)于Vue設(shè)置select下拉框的默認選項(select空白bug解決)的相關(guān)資料,需要的朋友可以參考下
    2022-12-12

最新評論