漏刻有时数据可视化Echarts组件开发(27):端午地图粽情之你的家乡吃甜还是吃咸?

端午地图粽情之你的家乡吃甜还是吃咸?

  • 前言
  • Echarts创意来源
  • Echarts核心代码
    • 1.引入外部文件
    • 2.构建HTML容器
    • 3.Echarts组件开发
      • 预置各省数据
      • 初始化DOM
      • 配置选项
      • geo组件
      • series组件
      • 自适应浏览器
      • 完整option选项配置代码

在这里插入图片描述

前言

中国各地对粽子的口味偏好存在一定的差异,一般可以从以下几个方面来概括:

  1. 甜咸口味的区别1:北方地区一般偏向于咸口味,如北京、天津、山西等地的粽子多为五香肉、咸蛋黄等咸味,而南方地区则更加喜欢甜味,如浙江、江苏、上海等地的粽子多为红枣、豆沙、花生等甜味。

  2. 粽子材料的不同:由于地区气候和人们口味偏好的差异,在制作粽子时材料也存在差异。如北方的肉粽主要使用猪肉配以五香料等炖制,而南方的粽子则多使用糯米和糖果作为主要材料。

  3. 形状和包法:不同地区的粽子形状和包法也存在差异。如清明节吃的藕粽,浙江温州地区的粽子外形有些尖头,北京地区的豆沙粽盘型扁担,而苏州地区的粽子则包裹用大豆、红枣、桂花浸渍的糯米。

Echarts创意来源

在网上搜索端午素材,发现吃粽子的“甜咸之争”。素材应该是PSD设计出来的,那么用echarts能不能将其实现出来呢?

在这里插入图片描述

Echarts核心代码

1.引入外部文件

  • 基于echarts,version4.0.4开发,部分语法与最新的5.x有所差异;
    <script type="text/javascript" src="js/echarts.min.js"></script><script type="text/javascript" src="js/china.js"></script>

使用echarts绘制中国地图时,有以下几点需要注意:

  1. 数据格式:需要使用echarts规定的中国地图数据格式,包括省份名称、省份代码、各省份坐标等信息。可以通过echarts官网提供的geoJSON格式地图数据来实现。

  2. 区域命名:在使用echarts绘制中国地图时,省份名称应该与echarts官方提供的数据保持一致。如果数据不一致,可能会出现地图无法渲染、或者渲染不准确等情况。

  3. 地图样式:在使用echarts绘制中国地图时,需要根据实际需要调整地图的样式,比如调整省份填充颜色、字体样式等。

  4. 数据展示:如果需要在地图上展示数据,需要使用对应的数据格式与echarts支持的数据可视化方式,比如使用series-map组件等。

  5. 其他注意事项:在使用echarts绘制中国地图时,还需要注意地图数据的更新、数据精度、图表性能、完整性等方面。此外,要注意在使用地图时遵守版权和法律法规要求。

2.构建HTML容器

<div id="container"></div>
*, body {font-size: 12px;}body {height: 100%;margin: 0;background: #cbecd7 url("images/mainbg.jpg") center top;}#container {height: 100%;margin-left: 20%;}

3.Echarts组件开发

预置各省数据

将各省的名称、粽子的类型作为常量,其中value设置为1、2、3便于使用visualMap视觉映射组件。

    var data = [{name: '北京', value: 1, type: '红枣粽'},{name: '天津', value: 1, type: '红枣粽'},{name: '辽宁', value: 1, type: '蜜枣粽'},{name: '新疆', value: 1, type: '大枣粽'},{name: '山西', value: 1, type: '红枣粽'},{name: '青海', value: 1, type: '大枣粽'},{name: '宁夏', value: 1, type: '蛋黄肉粽'},{name: '陕西', value: 1, type: '红枣粽'},{name: '黑龙江', value: 1, type: '蜜枣粽'},{name: '河北', value: 1, type: '小枣粽'},{name: '内蒙古', value: 1, type: '蜜枣葡萄干粽'},{name: '吉林', value: 1, type: '蜜枣粽'},{name: '安徽', value: 2, type: '腊肉粽'},{name: '河南', value: 2, type: '蜜枣豆沙粽 肉粽'},{name: '重庆', value: 2, type: '腊肉蛋黄粽'},{name: '湖南', value: 2, type: '肉粽'},{name: '湖北', value: 2, type: '肉粽'},{name: '江西', value: 2, type: '肉粽'},{name: '甘肃', value: 2, type: '红枣粽'},{name: '四川', value: 2, type: '腊肉蛋黄粽'},{name: '西藏', value: 2, type: '大枣粽 肉粽'},{name: '山东', value: 2, type: '蜜枣豆沙粽'},{name: '江苏', value: 2, type: '蜜枣豆沙粽 肉粽'},{name: '浙江', value: 2, type: '蜜枣豆沙粽 肉粽'},{name: '上海', value: 2, type: '蜜枣豆沙粽 肉粽'},{name: '广东', value: 2, type: '豆沙粽 肉粽'},{name: '台湾', value: 2, type: '烧肉粽'},{name: '香港', value: 2, type: ''},{name: '澳门', value: 2, type: ''},{name: '广西', value: 3, type: '芋头鲜肉粽'},{name: '云南', value: 3, type: '火腿粽'},{name: '福建', value: 3, type: '烧肉粽'},{name: '海南', value: 3, type: '黑猪肉粽'},{name: '贵州', value: 3, type: '板栗粽'}]

初始化DOM

   var myChart = echarts.init(document.getElementById("container"));

配置选项

     title: {text: '粽子咸甜口味分布',top: '10%',x: 'center',textStyle: {fontSize: '32',},},legend: {},visualMap: {show: 1,type: "piecewise",orient: 'horizontal',top: '17%',x: 'center',bottom: '10%',pieces: [{lte: 1, label: '甜粽'},{gt: 1, lte: 2, label: '咸甜通吃'},{gte: 3, label: '咸粽'}],textStyle: {color: "#000"},inRange: {symbolSize: 30,symbol: 'circle',color: ['#f8d998', '#fafc91', '#b7f9a2']}},

因为没有准确的调查数据,采用预置数据进行不同省份的颜色区分,即:

pieces: [{lte: 1, label: '甜粽'},{gt: 1, lte: 2, label: '咸甜通吃'},{gte: 3, label: '咸粽'}],
inRange: {symbolSize: 30,symbol: 'circle',color: ['#f8d998', '#fafc91', '#b7f9a2']}

geo组件

如果在series:[]组件中不使用散点、引导线等数据图层时,可以不使用该组件。

  geo: {type: 'map',map: 'china',label: {show: false,},itemStyle: {areaColor: 'transparent',borderWidth: 2,borderColor: '#c1a46a', // 地图边配色//borderType: "dotted"},emphasis: {label: {show: false,},},regions: [{ // 隐藏南海诸岛name: '南海诸岛',itemStyle: {opacity: 0.6,label: {show: false,}}}]},

series组件

     series: [{type: 'map',map: 'china',label: {show: true,formatter: function (params) {console.log(params.data.type)return params.data.type;}},itemStyle: {areaColor: '#f9dd9c',borderWidth: 1,borderColor: '#c1a46a', // 地图边配色//borderType: "dotted"},emphasis: {label: {show: false,},},z: 100,data: data,regions: [{ // 隐藏南海诸岛name: '南海诸岛',itemStyle: {opacity: 0.6,label: {show: false,}}}]}]

通过label调用各个省份的粽子类型:

 label: {show: true,formatter: function (params) {console.log(params.data.type)return params.data.type;}},

自适应浏览器

//自适应浏览器;myChart.setOption(option);window.addEventListener("resize", function () {myChart.resize();});

完整option选项配置代码

var option = {title: {text: '粽子咸甜口味分布',top: '10%',x: 'center',textStyle: {fontSize: '32',},},legend: {},visualMap: {show: 1,type: "piecewise",orient: 'horizontal',top: '17%',x: 'center',bottom: '10%',pieces: [{lte: 1, label: '甜粽'},{gt: 1, lte: 2, label: '咸甜通吃'},{gte: 3, label: '咸粽'}],textStyle: {color: "#000"},inRange: {symbolSize: 30,symbol: 'circle',color: ['#f8d998', '#fafc91', '#b7f9a2']}},geo: {type: 'map',map: 'china',label: {show: false,},itemStyle: {areaColor: 'transparent',borderWidth: 2,borderColor: '#c1a46a', // 地图边配色//borderType: "dotted"},emphasis: {label: {show: false,},},regions: [{ // 隐藏南海诸岛name: '南海诸岛',itemStyle: {opacity: 0.6,label: {show: false,}}}]},series: [{type: 'map',map: 'china',label: {show: true,formatter: function (params) {console.log(params.data.type)return params.data.type;}},itemStyle: {areaColor: '#f9dd9c',borderWidth: 1,borderColor: '#c1a46a', // 地图边配色//borderType: "dotted"},emphasis: {label: {show: false,},},z: 100,data: data,regions: [{ // 隐藏南海诸岛name: '南海诸岛',itemStyle: {opacity: 0.6,label: {show: false,}}}]}]};//自适应浏览器;myChart.setOption(option);window.addEventListener("resize", function () {myChart.resize();});

中国地大物博,文化习俗不同,气候天气条件有异,导致大家喜爱的粽子的口味和吃法也有区别,但无论咸甜也好、南北之分也罢,希望大家放“粽”端午,吉祥安康!

创意参考:


  1. 端午节粽子口味地图出炉 “甜咸之争”你是哪一派? ↩︎

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

记录一次使用thinkphp5分页器获取数据

// 输出当前页 $nowPage $data->currentPage(); // 输出总条数 $total $data->total(); // 输出当前页条数 $listRows $data->listRows();db(tablename)->where("id > 0")->paginate(10,true,[page>4]); //每页显示10条记录&#xff0c;且打…

docker安装ES,IK分词器,Kibana

dockerhub上自己搜要拉的镜像版本 // 拉取es 6.8.0的镜像版本 docker pull elasticsearch:6.8.0// 运行es镜像 docker run -d -p 9300:9300 -p 9200:9200 --name elasticsearch elasticsearch:6.8.0运行报错了 ERROR: [1] bootstrap checks failed [1]: max virtual memory are…

爬取新闻评论数据并进行情绪识别

一、为什么要爬取新闻评论数据并进行情绪识别&#xff1f; 爬取新闻评论数据并进行情绪识别的目的是为了从网页中抓取用户对新闻事件或话题的评价内容&#xff0c;并从中识别和提取用户的情绪或态度&#xff0c;如积极、消极、中立等。爬取新闻评论数据并进行情绪识别有以下几个…

redisson中Semaphore的信号量介绍及其原理

目录 1 基本介绍 1.1API介绍 1.2 示例 2 源码解析 2.1 Semaphore设置许可数量&#xff08;trySetPermits(int permits)&#xff09; 2.2 尝试获取许可&#xff08;boolean tryAcquire()&#xff09; 3 Lua脚本 3.1 加锁lua脚本 3.2 解锁lua脚本 1 基本介绍 Semaphore通…

centos7.6安装mysql

卸载mariadb 解决安装mysql与mariadb冲突问题&#xff08;卸载干净mariadb&#xff09;_何妨徐行的博客-CSDN博客 安装rpm包前可能需要的命令&#xff1a; yum install openssl-devel用于管理rpm包的工具 yum install lrzsz -y 文件传输缺乏rz 下载安装包 去mysql官网 把…

STM32使用printf重定向到USART(串口)并打印数据到串口助手

STM32使用sprintf打印数据到串口助手 一.背景知识二. 重定向printf到USART1三.使用printf打印hello,world到串口助手3.1 usart.c3.2 usart.h3.3 main.c 四. 实验现象五.结语 一.背景知识 我们知道我们在进行编程的时候&#xff0c;遇到问题&#xff0c;经常通过打印信息进行调…

拥抱“Zero ETL”未来,亚马逊云科技助力乐城堡加速数据分析

获得全球三千五百多万用户的认可的移动游戏企业乐城堡希望通过数据分析为游戏业务提供更好的决策支撑。乐城堡在亚马逊云科技上利用Amazon Redshift等服务构建属于自己的云上游戏数据分析平台&#xff0c;实现复杂查询&#xff0c;保证游戏运营人员能快速、近实时地获取所需的数…

SpringBoot配置外部Tomcat项目以及启动流程源码分析

1.SpringBoot配置外部Tomcat并打war包 2.SpringBoot配置外部Tomcat项目启动流程源码分析

快速创建ES集群

win10 中docker 设置 快速创建集群 访问 官网 elasticsearch/docs/reference/setup/install/docker at main elastic/elasticsearch GitHub 负责上面2个文件&#xff0c;并修改&#xff0c;修改如下 .env文件 # Password for the elastic user (at least 6 characters) …

【MES中的APS生产排程】

我记得APS生产排程里的销售订单,是通过CRM接口过来的。 但是今天了解到,销售订单是营销直接在MES里下单。 第一步:销售订单维护 提交,审核之后,就会出现在MPS运算界面中。 关闭后,MPS里的运算结果也会同步关闭。 第二步:MPS运算 可以看到,刚才新增的销售订单:RXSD…

Python-opcua 编程(3)历史数据读写

历史数据就是将opcua 信息模型中的某一些变量保存起来&#xff0c;以便Client 端程序能够读取历史数据&#xff0c;作各种数据处理。 Opcua 标准指出历史数据的读写&#xff0c;主要包括&#xff1a; 属性 Historizing 当设置为True 时&#xff0c;该变量支持历史数据读写 …

优化成本,探索WhatsApp API发送更经济的OTP验证信息

在现代的数字化世界中&#xff0c;安全性和使用者验证变得至关重要。随着移动应用程序和在线服务的普及&#xff0c;一次性密码&#xff08;OTP&#xff09;验证已经成为确保使用者身份验证的主要手段之一。然而&#xff0c;对于许多企业来说&#xff0c;发送OTP验证信息可能会…