#echarts#折线图#饼图

python 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>折线图</title>
</head>
<body>
    <div id="app" style="width:100%;height:100%;">
        <div id="chart-container" style="width:1000px;height:800px;"></div>
    </div>
    <script src="./vue.js"></script>
    <script src="./echarts.js"></script>
    <script src="./sales.js"></script>
    <script>
        Vue.createApp({
            data(){
                return{
                    salesData:salesData,
                    salesCount:[]
                }
            },
            created(){
                this.salesData.forEach(data => {
                    let item = this.salesCount.find(ele => ele.name==data.storeName)
                    if(item){
                        item.count++
                    } else {
                        this.salesCount.push({
                            name:data.storeName,
                            count:1
                        })
                    }
                });
                console.log(this.salesCount)
            },
            mounted(){
                var chartDom = document.getElementById("chart-container");
                var myChart = echarts.init(chartDom);
                var option = {
                    title:{
                        text : "门店数量",
                        left : "center"
                    },
                    tooltip:{
                        trigger:"item"
                    },
                    xAxis:[{
                        type:"category",
                        data:this.salesCount.map(data => data.name),
                    }],
                    yAxis:[{
                        type:"value"
                    }],
                    series:[{
                        name:"hah",
                        type:"line",
                        data:this.salesCount.map(data => data.count)
                    }]
                };
                option && myChart.setOption(option)
            },
            methods:{}
        }).mount('#app');
    </script>
</body>
</html>

饼图:

python 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>饼图</title>
</head>
<body>
    <div id="app" style="width:100%; height:100%;">
        <div id="chart-container" style="width:500px; height:400px;"></div>
    </div>
    <script src="./vue.js"></script>
    <script src="./echarts.js"></script>
    <script src="./sales.js"></script>
    <script>
        Vue.createApp({
            data() {
                return {
                    salesData:salesData,
                    salesCount: []
                }
            },
            created() {
                this.salesData.forEach(data => {
                    if (data.productType == "家具产品") {
                        let item = this.salesCount.find(ele => ele.name == data.storeName)
                        if(item) {
                            item.value++
                        } else {
                            this.salesCount.push({
                                name:data.storeName,
                                value:1
                            });
                        }
                    }
                })
                console.log(this.salesCount);
            },
            mounted() {
                var chartDom = document.getElementById("chart-container");
                var myChart = echarts.init(chartDom);
                var option = {
                    title:{
                        text:"家具产品门店数",
                        subtext:'',
                        left:"center"
                    },
                    tooltip:{
                        trigger:"item",
                        formatter:'{a} <br/> {b}:{c}({d}%)'
                    },
                    legend:{
                        orient:"vertical",
                        right:"right",
                        top:"middle"
                    },
                    series:[{
                        name:"direct",
                        type:"pie",
                        data:this.salesCount,
                    }]
                };
                option && myChart.setOption(option);
            },
            methods: {}
        }).mount('#app');


    </script>

</body>
</html>
相关推荐
paopaokaka_luck1 小时前
停车小程序(车牌OCR智能识别、地图API、Echarts图形化分析、智能车位预约、自动计费与订单处理)
小程序·ocr·echarts
鱼与宇1 小时前
前端Web(html+css+js+vue3)
前端
雪芽蓝域zzs3 小时前
(六)打包优化 + Nginx 部署完整配置 + 项目收尾
前端·vue.js
研☆香3 小时前
聊一聊前端的常见字 关键字
开发语言·前端·javascript
东风破_3 小时前
JWT 1:从一个登录请求开始,理解 React 项目里的 API 层与 Mock
前端·后端
东风破_3 小时前
JWT 3:为什么 Token 要放进 Authorization?Axios 拦截器到底解决了什么?
前端·后端
东风破_3 小时前
JWT 5:路由守卫是什么?把整个 JWT 登录鉴权流程串起来
前端·后端
东风破_3 小时前
JWT 2:HTTP 是无状态的,为什么登录成功后还要给 Token?
前端·后端
东风破_3 小时前
JWT 4:Zustand 到底解决了什么?为什么登录状态要放进 Store?
前端·后端
IT_陈寒4 小时前
Vite动态导入差点让我秃头,原来问题出在这
前端·人工智能·后端