ECharts 图表简单示例,中国地图

目录

  • ECharts官网链接: [ECharts](https://echarts.apache.org/zh/index.html)
  • 在项目中引入 Apache ECharts
  • 柱状图
  • 折线图
  • 饼图
  • 仪表盘
  • 中国地图
  • 完整示例代码

ECharts官网链接: ECharts

在这里插入图片描述

在项目中引入 Apache ECharts

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <!-- 引入刚刚下载的 ECharts 文件 -->
    <script src="echarts.js"></script>
    <!-- 地图js -->
    <script src="china.js"></script>
  </head>
</html>

柱状图

在这里插入图片描述

折线图

在这里插入图片描述

饼图

在这里插入图片描述

仪表盘

在这里插入图片描述

中国地图

在这里插入图片描述

完整示例代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- 引入刚刚下载的 ECharts 文件 -->
    <script src="echarts.js"></script>
    <!-- 地图js -->
    <script src="china.js"></script>
</head>

<body>
    <!-- 为 ECharts 准备一个定义了宽高的 DOM -->
    <div id="main1" style="width: 800px;height:600px;"></div>
    <div id="main2" style="width: 800px;height:600px;"></div>
    <div id="main3" style="width: 800px;height:600px;"></div>
    <div id="main4" style="width: 800px;height:600px;"></div>
    <div id="map" style="width: 800px;height:600px;"></div>
    <script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var chartDom1 = document.getElementById('main1');
        var chartDom2 = document.getElementById('main2');
        var chartDom3 = document.getElementById('main3');
        var chartDom4 = document.getElementById('main4');
        var chartDom5 = document.getElementById('map');
        var myChart1 = echarts.init(chartDom1);
        var myChart2 = echarts.init(chartDom2);
        var myChart3 = echarts.init(chartDom3);
        var myChart4 = echarts.init(chartDom4);
        var myChart5 = echarts.init(chartDom5);
        var option1, option2, option3, option4, option5;
        // 指定图表的配置项和数据
        var option1 = {
            title: {
                text: 'ECharts 入门示例'
            },
            tooltip: {},
            legend: {
                data: ['销量']
            },
            xAxis: {
                data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']
            },
            yAxis: {},
            series: [{
                name: '销量',
                type: 'bar',
                data: [5, 20, 36, 10, 10, 20]
            }]
        };
        // 使用刚指定的配置项和数据显示图表。
        myChart1.setOption(option1);


        option2 = {
            title: {
                text: 'Stacked Line'
            },
            tooltip: {
                trigger: 'axis'
            },
            legend: {
                data: ['Email', 'Union Ads', 'Video Ads', 'Direct', 'Search Engine']
            },
            grid: {
                left: '3%',
                right: '4%',
                bottom: '3%',
                containLabel: true
            },
            toolbox: {
                feature: {
                    saveAsImage: {}
                }
            },
            xAxis: {
                type: 'category',
                boundaryGap: false,
                data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
            },
            yAxis: {
                type: 'value'
            },
            series: [{
                    name: 'Email',
                    type: 'line',
                    stack: 'Total',
                    data: [120, 132, 101, 134, 90, 230, 210]
                },
                {
                    name: 'Union Ads',
                    type: 'line',
                    stack: 'Total',
                    data: [220, 182, 191, 234, 290, 330, 310]
                },
                {
                    name: 'Video Ads',
                    type: 'line',
                    stack: 'Total',
                    data: [150, 232, 201, 154, 190, 330, 410]
                },
                {
                    name: 'Direct',
                    type: 'line',
                    stack: 'Total',
                    data: [320, 332, 301, 334, 390, 330, 320]
                },
                {
                    name: 'Search Engine',
                    type: 'line',
                    stack: 'Total',
                    data: [820, 932, 901, 934, 1290, 1330, 1320]
                }
            ]
        };
        myChart2.setOption(option2);

        option3 = {
            series: [{
                type: 'gauge',
                startAngle: 180,
                endAngle: 0,
                min: 0,
                max: 240,
                splitNumber: 12,
                itemStyle: {
                    color: '#58D9F9',
                    shadowColor: 'rgba(0,138,255,0.45)',
                    shadowBlur: 10,
                    shadowOffsetX: 2,
                    shadowOffsetY: 2
                },
                progress: {
                    show: true,
                    roundCap: true,
                    width: 18
                },
                pointer: {
                    icon: 'path://M2090.36389,615.30999 L2090.36389,615.30999 C2091.48372,615.30999 2092.40383,616.194028 2092.44859,617.312956 L2096.90698,728.755929 C2097.05155,732.369577 2094.2393,735.416212 2090.62566,735.56078 C2090.53845,735.564269 2090.45117,735.566014 2090.36389,735.566014 L2090.36389,735.566014 C2086.74736,735.566014 2083.81557,732.63423 2083.81557,729.017692 C2083.81557,728.930412 2083.81732,728.84314 2083.82081,728.755929 L2088.2792,617.312956 C2088.32396,616.194028 2089.24407,615.30999 2090.36389,615.30999 Z',
                    length: '75%',
                    width: 16,
                    offsetCenter: [0, '5%']
                },
                axisLine: {
                    roundCap: true,
                    lineStyle: {
                        width: 18
                    }
                },
                axisTick: {
                    splitNumber: 2,
                    lineStyle: {
                        width: 2,
                        color: '#999'
                    }
                },
                splitLine: {
                    length: 12,
                    lineStyle: {
                        width: 3,
                        color: '#999'
                    }
                },
                axisLabel: {
                    distance: 30,
                    color: '#999',
                    fontSize: 20
                },
                title: {
                    show: false
                },
                detail: {
                    backgroundColor: '#fff',
                    borderColor: '#999',
                    borderWidth: 2,
                    width: '60%',
                    lineHeight: 40,
                    height: 40,
                    borderRadius: 8,
                    offsetCenter: [0, '35%'],
                    valueAnimation: true,
                    formatter: function (value) {
                        return '{value|' + value.toFixed(0) + '}{unit|km/h}';
                    },
                    rich: {
                        value: {
                            fontSize: 50,
                            fontWeight: 'bolder',
                            color: '#777'
                        },
                        unit: {
                            fontSize: 20,
                            color: '#999',
                            padding: [0, 0, -20, 10]
                        }
                    }
                },
                data: [{
                    value: 100
                }]
            }]
        };
        // 使用刚指定的配置项和数据显示图表。
        myChart3.setOption(option3);

        option4 = {
            legend: {
                top: 'bottom'
            },
            toolbox: {
                show: true,
                feature: {
                    mark: {
                        show: true
                    },
                    dataView: {
                        show: true,
                        readOnly: false
                    },
                    restore: {
                        show: true
                    },
                    saveAsImage: {
                        show: true
                    }
                }
            },
            series: [{
                name: 'Nightingale Chart',
                type: 'pie',
                radius: [50, 250],
                center: ['50%', '50%'],
                roseType: 'area',
                itemStyle: {
                    borderRadius: 8
                },
                data: [{
                        value: 40,
                        name: 'rose 1'
                    },
                    {
                        value: 38,
                        name: 'rose 2'
                    },
                    {
                        value: 32,
                        name: 'rose 3'
                    },
                    {
                        value: 30,
                        name: 'rose 4'
                    },
                    {
                        value: 28,
                        name: 'rose 5'
                    },
                    {
                        value: 26,
                        name: 'rose 6'
                    },
                    {
                        value: 22,
                        name: 'rose 7'
                    },
                    {
                        value: 18,
                        name: 'rose 8'
                    }
                ]
            }]
        };
        // 使用刚指定的配置项和数据显示图表。
        myChart4.setOption(option4);

        // 自定义蓝色调颜色
        var itemColor = '#A2C1F9'; // 蓝色

        // 配置地图选项
        var option5 = {
            title: {
                text: '中国地图',
                left: 'center'
            },
            tooltip: {
                trigger: 'item'
            },
            visualMap: {
                min: 0,
                max: 1000,
                left: 'left',
                top: 'bottom',
                text: ['高', '低'], // 图例文字
                calculable: true
            },
            series: [{
                name: '地图',
                type: 'map',
                mapType: 'china',
                roam: false, // 禁止地图缩放和平移
                label: {
                    show: true,
                    color: '#000'
                },
                itemStyle: {
                    normal: {
                        areaColor: itemColor, // 设置各个区域的颜色
                        borderColor: '#fff' // 省份边界颜色
                    },
                    emphasis: {
                        areaColor: '#F3B329', // 高亮省份的颜色
                        shadowOffsetX: 0,
                        shadowOffsetY: 0,
                        shadowBlur: 20,
                        borderWidth: 0,
                        shadowColor: 'rgba(0, 0, 0, 0.5)'
                    }
                },
                data: [{
                        name: '北京',
                        value: 100
                    },
                    {
                        name: '上海',
                        value: 200
                    },
                    {
                        name: '广州',
                        value: 300
                    },
                    // 其他省份的数据
                ]
            }]
        };
        // 使用刚指定的配置项和数据显示图表
        myChart5.setOption(option5);
    </script>
</body>


</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/302019.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python编程+copilot+代码补全+提高效率

Python编程copilot代码补全提高效率 copilot是由Github和OpenAI合作开发的一款AI编程工具&#xff0c;它可以根据自然语言或部分代码&#xff0c;自动给出合适的代码补全建议。copilot支持多种编程语言&#xff0c;包括Python&#xff0c;也可以在Pycharm等主流IDE中使用。本资…

stm32cube keil5第二次下载程序不成功

1.第一次下载成功&#xff0c;第二次需要按重置键下载然后松开能下载成功。是因为之前stm32cube默认设置了nodebug模式。修改读写模式第二次就可以下载。 2.keil5每次不用按钮重置按钮刷新程序 keil5设置。

2024第九届上海国际智慧工地展览会-官 网

2024第九届上海国际智慧工地展览会 时间&#xff1a;2024年10月30-11月1日 地点&#xff1a;上海世博展览馆 主办单位&#xff1a;联合国人居署 上海市住房和城乡建设管理委员会 协办单位&#xff1a;上海世界城市日事务协调中心 智慧工地是一种应用信息化、智能化技术的施…

6类典型场景的无线AP选型和部署方案

你们好&#xff0c;我的网工朋友。 前段时间刚给你们来了篇解决无线频繁断网的技术文&#xff0c;《解决无线频繁断网&#xff0c;这个办法值得收藏&#xff01;》。 不少朋友私聊&#xff0c;说想再聊聊无线AP的选型和部署方案&#xff0c;这不就安排上了&#xff1f; 无线…

构建免费的Dokan和WooCommerce构建线上课程市场在线销售数字课程

我们知道创建良好的学习说明和材料很困难。但当涉及到销售时&#xff0c;就变得更加困难。如果您无法出售您的课程&#xff0c;那么没有什么比这更令人沮丧的了。 幸运的是&#xff0c;如果您使用的是 WordPress 网站&#xff0c;那么您可以非常轻松且免费地完成此操作。借助L…

苹果IOS如何支持微信小程序分享

各位同学们好&#xff01;我是咕噜铁蛋&#xff01;&#xff0c;我们经常需要与读者分享有关移动应用的使用方法和技巧。微信小程序是一种便捷的应用形式&#xff0c;可以在微信内部直接使用&#xff0c;而无需下载和安装。本文铁蛋讲详细介绍iOS苹果支持微信小程序类型分享的使…

张驰咨询:精益生产咨询如何塑造行业未来?

驻厂精益生产咨询是一种咨询服务&#xff0c;顾问直接在客户的生产现场进行长期驻点&#xff0c;通过现场观察、分析和指导&#xff0c;帮助企业实施精益生产的方法和工具&#xff0c;旨在改善生产效率&#xff0c;减少浪费&#xff0c;提升产品质量&#xff0c;并降低成本。这…

ICC2/innovus:hcell文件产生方法

更多学习内容请关注「拾陆楼」知识星球 拾陆楼知识星球入口 相关文章链接: Calibre:LVS Calibre:LVS常见问题解析

美易官方:美股2024年开局惨淡,调整会持续多久?

美股2024年开局惨淡&#xff0c;调整会持续多久&#xff1f;美易官方平台致力于为投资者与美股深度链接 2024年&#xff0c;美股市场迎来了一个艰难的开局。全球经济形势的不确定性、地缘政治紧张局势以及市场预期的波动都给美股市场带来了挑战。投资者们对于未来的走势充满了疑…

电话号码信息收集工具:PhoneInfoga | 开源日报 No.137

sundowndev/phoneinfoga Stars: 11.2k License: GPL-3.0 PhoneInfoga 是一个用于扫描国际电话号码的信息收集框架&#xff0c;它允许用户首先收集基本信息 (如国家、地区、运营商和线路类型)&#xff0c;然后使用各种技术来尝试找到 VoIP 提供商或识别所有者。该工具与一系列必…

Google Earth Engine(GEE)深度学习入门教程- 环境搭建篇

本人的研究方向是基于深度学习方法的作物遥感识别。经查阅目前的相关教程资料后&#xff0c;发现深度学习的GEE教程几乎没有&#xff0c;所以开始动笔写下此片文章&#xff0c;给后面研究这个方向的人提供一点帮助吧。 教程的背景 为什么要写这份教程&#xff1f; 一、深度学…

Hadoop集群环境下HDFS实践编程过滤出所有后缀名不为“.abc”的文件时运行报错:java.net.ConnectException: 拒绝连接;

一、问题描述 搭建完Hadoop集群后&#xff0c;在Hadoop集群环境下运行HDFS实践编程使用Eclipse开发调试HDFS Java程序&#xff08;文末有源码&#xff09;&#xff1a; 假设在目录“hdfs://localhost:9000/user/hadoop”下面有几个文件&#xff0c;分别是file1.txt、file2.tx…

PySimpleGUI主题窗口样式

说明 PySimpleGUI是一个基于Tthinter的简单GUI框架&#xff0c;可以作为python下跨平台的轻量级UI来使用。我看到示例代码里有设置主题的代码&#xff0c;所以找官方文档看了下&#xff0c;可以预览素有主题&#xff0c;方法是&#xff1a; import PySimpleGUI as sg sg.them…

微信公众号-订阅通知

第一步&#xff1a; 公众号需要实名认证&#xff0c;完成以后&#xff01; 设置-开发里找到基本配置&#xff1a; 开发者ID(AppID):xxxxxxxxxxxxxxxxxxxxxxxxx 开发者密码(AppSecret):xxxxxxxxxxxxxxxxxxxxxxxxx 白名单IP也要填写上你的服务器IP哦&#xff01; 第二步&am…

Hadoop-HA高可用

一、集群规划 二、HDFS高可用 官方地址 在opt目录下创建一个ha文件夹&#xff0c;将/opt/module/下的 hadoop-3.1.3拷贝到/opt/ha目录下&#xff08;记得删除data 和 log目录&#xff09; 配置core-site.xml hdfs-site.xml <configuration><!-- NameNode数据存…

【无标题】山姆奥特曼喊话AI创业者

这里写自定山姆奥特曼充满激情地向创业者们发出呼吁&#xff0c;他表示AI是一个可以媲美互联网早期机遇的巨大机会。与此相关的人士认为&#xff0c;现在是互联网和移动互联网创业者们行动起来的时候了&#xff01;他们应该全面拥抱大模型的应用层创业。第一波红利期在6-8个月内…

电子实验室设备:从零开始配置实验室(一)

本文译自 Electronics Lab Equipment: Kitting out a Lab from Scratch 随着多次国际迁徙以及在几家公司&#xff08;或其分支机构&#xff09;工作&#xff0c;尤其是在没有强大电子工程团队的情况下&#xff0c;我不得不为自己和客户设置多个电子实验室。那些计划进行内部测试…

Vue3+TS+Vite 构建自动导入开发环境

关注⬆️⬆️⬆️⬆️ 专栏后期更新更多前端内容 在一个使用 Vue 3、Vite 和 TypeScript 的项目中,配置 unplugin-auto-import 和 unplugin-vue-components 插件可以极大地提高开发效率,因为它们可以自动导入 Vue 相关的 API 和 Vue 组件,从而减少了手动导入的需要。 文章目…

【leetcode】力扣算法之有效的数独【中等难度】

题目描述 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 &#xff0c;验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。&#xff08;请参考示例图&…

【Android Studio】创建第一个APP工程及生成APK安装包

&#x1f31f;博主领域&#xff1a;嵌入式领域&人工智能&软件开发 前言&#xff1a;本文详细介绍创建Android Studio第一个APP工程及打包生成APK安装包。 如下两个博客我记录了第一次创建项目时出现的问题&#xff0c;若你也遇见了同样的问题&#xff0c;可参考&#…