2023年最新5A景区有多少个?Python可视化告诉你
2023年最新5A景区有多少个?Python可视化告诉你
五一小长假来了,很多人想抓住小长假的机会去旅游。
5A景区是大多数人的首选,全国最新有多少个5A景区呢,应该还有很多人不知道。本文用Python进行可视化,告诉你答案。
各年5A景区数量

用瀑布图的方式展示各年的5A景区数量,截止2023年5月,全国共有319个5A景区。实现代码如下。
瀑布图介绍参考:循序渐进,学会用pyecharts绘制瀑布图。
from pyecharts.charts import Geo, Map, Bar
from pyecharts import options as opts
from pyecharts.globals import GeoType, ChartType
import pandas as pd
import numpy as npdef scenery_num_by_year():"""5A景区数按年增长情况"""df = pd.read_excel('scenery_info.xlsx')s = df['年份'].value_counts().sort_index()bar = Bar(init_opts=opts.InitOpts(width='800px', height='500px'))bar.add_xaxis(s.index.to_list()).add_yaxis('', y_axis=[0, 66, 76, 119, 145, 171, 183, 212, 227, 249, 258, 280, 302, 306], category_gap=1,stack="5A景区总数", itemstyle_opts=opts.ItemStyleOpts(color="rgb(240,240,240)")).add_yaxis('新增数量', y_axis=s.to_list(), stack="5A景区总数", category_gap=1).set_global_opts(title_opts=opts.TitleOpts(title='各年5A景区数量变化', pos_left='300', pos_top='15',title_textstyle_opts=opts.TextStyleOpts(color='#1A56C8', font_size=16)), xaxis_opts=opts.AxisOpts(split_number=6, axislabel_opts=opts.LabelOpts(font_size=12, color='#1A56C8')), yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=12, color='#1A56C8', margin=12, font_weight='bolder'),), legend_opts=opts.LegendOpts(is_show=False)).set_series_opts(yaxis_opts=opts.AxisOpts(type_="value"),).render('5a_scenery_num_by_year.html')
各省5A景区数量排名

江苏省共有25个5A景区,一骑绝尘。实现代码如下。
def scenery_num_by_province():"""各省5A景区数排名"""df = pd.read_excel('scenery_info.xlsx')s = df['所属地区'].value_counts(ascending=True)bar = Bar(init_opts=opts.InitOpts(width='800px', height='1000px', bg_color='#C8C8C8'))bar.add_xaxis(s.index.to_list()).add_yaxis('', s.to_list(), category_gap=5).reversal_axis().set_global_opts(title_opts=opts.TitleOpts(title='各省5A景区数排名', pos_left='280', pos_top='15',title_textstyle_opts=opts.TextStyleOpts(color='#1A56C8', font_size=16)), xaxis_opts=opts.AxisOpts(max_=30, split_number=6, is_show=False,), yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(font_size=12, color='#1A56C8', margin=12, font_weight='bolder'),splitline_opts=opts.SplitLineOpts(is_show=False)), legend_opts=opts.LegendOpts(is_show=False)).set_series_opts(label_opts=opts.LabelOpts(font_size=14, font_weight='bolder', font_family='italic', color='#7030A0',position='right', distance=10, vertical_align='middle')).set_colors('#FF9366').render('5a_scenery_num_by_province.html')def province_name_paser(name):province_name = ["北京市", "天津市", "河北省", "山西省", "内蒙古自治区", "辽宁省", "吉林省","黑龙江省", "上海市", "江苏省", "浙江省", "安徽省", "福建省", "江西省", "山东省","河南省", "湖北省", "湖南省", "广东省", "广西壮族自治区", "海南省", "重庆市","四川省", "贵州省", "云南省", "西藏自治区", "陕西省", "甘肃省", "青海省","宁夏回族自治区", "新疆维吾尔自治区", "台湾省", "香港特别行政区", "澳门特别行政区"]for p in province_name:if name in p:return p
各省5A景区分布情况

上图可视化了各省的5A景区分布情况,沿海地区、长江黄河流域、平原区域5A景区更多。实现代码如下。
def scenery_by_province():"""各省5A景区数量分布"""map = Map(init_opts=opts.InitOpts(bg_color='black', width='1300px', height='700px'))df = pd.read_excel('scenery_info.xlsx')df['所属地区'] = df['所属地区'].apply(lambda x: province_name_paser(x))s = df['所属地区'].value_counts()data_pair = [[province, int(s[province])] for province in s.index]# print(data_pair)map.add('', data_pair=data_pair, maptype="china", is_map_symbol_show=False).set_global_opts(title_opts=opts.TitleOpts(title='各省5A景区数量分布', pos_left='550', pos_top='50',title_textstyle_opts=opts.TextStyleOpts(color='white', font_size=16)), visualmap_opts=opts.VisualMapOpts(max_=27, is_piecewise=True, pos_left='350', pos_bottom='100', split_number=9,textstyle_opts=opts.TextStyleOpts(color='white', font_size=10)), legend_opts=opts.LegendOpts(is_show=False)).set_series_opts(label_opts=opts.LabelOpts(font_size=8, font_weight='bolder', font_family='monospace')).render("5a_scenery_by_province.html")
各省5A景区位置标注

把所有5A景区的位置标注出来,可以更方便查看景区的位置和分布情况。实现代码如下。
def scenery_location_mark():"""5A景区位置标注"""geo = Geo(init_opts=opts.InitOpts(bg_color='black', width='1600px', height='900px'))df = pd.read_excel('scenery_info.xlsx')for row_index, row_data in df.iterrows():geo.add_coordinate(row_data['景区名称'], row_data['经度'], row_data['纬度'])data_pair = [(name, 1) for name in df['景区名称']]# print(data_pair)geo.add_schema(maptype='china', is_roam=True,itemstyle_opts=opts.ItemStyleOpts(color='#323c48', border_color='#408080')).add('', data_pair=data_pair, type_=GeoType.SCATTER, symbol='pin', symbol_size=16, color='#CC3300').set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(title='全国5A景区位置标注图', pos_left='720', pos_top='50',title_textstyle_opts=opts.TextStyleOpts(color='#1A56C8', font_size=18)), legend_opts=opts.LegendOpts(is_show=False)).render('5a_scenery_location_mark.html')
2023年最新5A景区速查表

如果你需要excel表格的数据和完整的可视化代码,请WX私信联系我获取。
数据来源:
[1] 5A景区信息来源于中国文旅部官网。
[2] 5A景区的经纬度来源于百度地图。
相关阅读:
循序渐进,学会用pyecharts绘制瀑布图
📢欢迎 点赞👍 收藏⭐ 评论📝 关注❤ 如有错误敬请指正!
☟ 学Python,点击下方名片关注我。☟
相关文章:
2023年最新5A景区有多少个?Python可视化告诉你
2023年最新5A景区有多少个?Python可视化告诉你 五一小长假来了,很多人想抓住小长假的机会去旅游。 5A景区是大多数人的首选,全国最新有多少个5A景区呢,应该还有很多人不知道。本文用Python进行可视化,告诉你答案。 …...
C++中的list容器
文章目录 list的介绍list的使用list的构造list iterator的使用list capacitylist元素访问list modifierslist的迭代器失效 list与vector的对比 list的介绍 list是可以在常数范围内的任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代; …...
Apache Hudi初探(二)(与spark的结合)
背景 目前hudi的与spark的集合还是基于spark datasource V1来的,这一点可以查看hudi的source实现就可以知道: class DefaultSource extends RelationProviderwith SchemaRelationProviderwith CreatableRelationProviderwith DataSourceRegisterwith StreamSinkPr…...
颠覆世界的“数字孪生”到底是什么?这篇文章带你搞懂全部内涵!
在春节很火的电影《流浪地球2》中,已经去世的小女孩图丫丫,被她的父亲重新将其个人的信息模型导入最强大的计算机而“复活”了。屏幕中的丫丫就是一个数字孪生体。我们可以看到她的一颦一笑,听到她跟你的对话,看到她做出反应。这就…...
Vector底层结构和源码分析
Vector的基本介绍 1.Vector类的定义说明 public class Vector<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, Serializable 2)Vector底层也是一个对象数组,protected Objectl] elementData; 3)Vector是线程同步的&…...
计算卸载论文阅读01-理论梳理
标题:When Learning Joins Edge: Real-time Proportional Computation Offloading via Deep Reinforcement Learning 会议:ICPADS 2019 一、梳理 问题:在任务进行卸载时,往往忽略了任务的特定的卸载比例。 模型:针…...
Windows 11 本地 php 开发环境搭建:PHP + Apache + MySQL +VSCode 安装和环境配置
目录 前言1. PHP 的下载、安装和配置1.1 下载 php1.2 安装 php1.3 配置 php 系统变量1.4 配置 php.ini 2. Apache 的下载、安装和配置2.1 下载 Apache2.2 安装 Apache2.3 修改配置 Apache2.4 指定服务端口(非必须)2.5 配置系统变量2.6 安装服务2.7 Apach…...
15个使用率超高的Python库,下载量均过亿
今天给大家分享最近一年内PyPI上下载量最高的Python包。现在我们来看看这些包的作用,他们之间的关系,以及为什么如此流行。 1. Urllib3:8.93亿次下载 Urllib3 是 Python 的 HTTP 客户端,它提供了许多 Python 标准库没有的功能。 …...
所有知识付费都可以用 ChatGPT 再割一次?
伴随春天一起到来的,还有如雨后春笋般冒出的 ChatGPT / AI 相关的付费社群、课程训练营、知识星球等。 ChatGPT 吹来的这股 AI 热潮,这几个月想必大家多多少少都能感受到。 ▲ 图片来源:网络 这两张图是最近在圈子里看到的。 一张是国内各…...
Python中“is”和“==”的区别(避坑)
2.3 “is”和“”的区别 在Python编写代码时,经常会遇到需要判断2个对象是否相等的情况,这个时候一般就会想到使用is和,is和好像都可以用来判断对象是否相等,经常会傻傻分不清,但其实这其中还是有区别的。 不过在这之…...
20230426----重返学习-vue-router路由
day-058-fifty-eight-20230426-vue-router路由 vue-router路由 路由:切换页面,单页面应用上使用的 hash模式—锚点 对应vue版本 如何使用路由版本 vue2 —> router3vue3 —> router4 使用vue-router 创建项目的时候,直接选中路由…...
Java字节码指令
Java代码运行的过程是Java源码->字节码文件(.class)->运行结果。 Java编译器将Java源文件(.java)转换成字节码文件(.class),类加载器将字节码文件加载进内存,然后进行字节码校验,最后Java解释器翻译成机器码。 …...
Vue3之setup参数介绍
setup(props, context) {... }一、参数 使用setup函数时,它将接受两个参数: propscontext 让我们更深入地研究如何使用每个参数 二、Props setup函数中的第一个参数是props。正如在一个标准组件中所期望的那样,setup函数中的props是响应…...
ESET NOD32 互联网安全软件和防毒软件 -简单,可靠的防护。
安全防范病毒和间谍软件,银行和网上购物更安全, 网络摄像头和家用路由器使用更安全,阻止黑客访问您的电脑, 让您的孩子网络安全;产品兑换码仅支持中国ip地址兑换,兑换后可全球通用。 简单,可靠的防护 防范黑客&#x…...
试试这几个冷门但好用的软件吧
软件一:探记 探记是一款专注于个人记录每一条记录的工具,主要特点如下: 简单易用:探记的界面设计简洁明了,操作流程简单易用,用户可以快速、方便地添加记录。 多样化记录类型:探记支持多种记…...
【云原生】k8s NetworkPolicy 网络策略是怎么样的
前言 随着微服务的流行,越来越多的云服务平台需要大量模块之间的网络调用。 在 Kubernetes 中,网络策略(NetworkPolicy)是一种强大的机制,可以控制 Pod 之间和 Pod 与外部网络之间的流量。 Kubernetes 中的 NetworkPolicy 定义了一组规则&…...
手把手教你用几行代码给winform多个控件(数量无上限)赋值
前言: 我们在开发winform程序的过程中,经常会遇到这样一个场景,我们设计的界面,比如主窗体有一百多个TextBox,然后初始化的时候要对这个一百多个TextBox的Text属性赋值,比如赋个1,如果是winfor…...
回炉重造十一------ansible批量安装服务
1.playbook的核心组件 Hosts 执行的远程主机列表Tasks 任务集,由多个task的元素组成的列表实现,每个task是一个字典,一个完整的代码块功能需最 少元素需包括 name 和 task,一个name只能包括一个taskVariables 内置变量或自定义变量在playbook中调用Templates 模板,…...
系统集成项目管理工程师 笔记(第20章:知识产权管理、第21章:法律法规和标准规范)
文章目录 20.1.2 知识产权的特性 58420.2.1 著作权及邻接权 58520.2.2 专利权 58920.2.3 商标权 59221.3 诉讼时效 59921.6.3 标准分级与标准类型 60321.7.2 信息系统集成项目管理常用的技术标准 6061、基础标准2、开发标准3、文档标准4、管理标准 第20章 知识产权管理 584 20.…...
Channel-wise Knowledge Distillation for Dense Prediction(ICCV 2021)原理与代码解析
paper:Channel-wise Knowledge Distillation for Dense Prediction official implementation:https://github.com/irfanICMLL/TorchDistiller/tree/main/SemSeg-distill 摘要 之前大多数用于密集预测dense prediction任务的蒸馏方法在空间域spatial…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?
现有的 Redis 分布式锁库(如 Redisson)相比于开发者自己基于 Redis 命令(如 SETNX, EXPIRE, DEL)手动实现分布式锁,提供了巨大的便利性和健壮性。主要体现在以下几个方面: 原子性保证 (Atomicity)ÿ…...
【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...
第八部分:阶段项目 6:构建 React 前端应用
现在,是时候将你学到的 React 基础知识付诸实践,构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段,你可以先使用模拟数据,或者如果你的后端 API(阶段项目 5)已经搭建好,可以直接连…...
门静脉高压——表现
一、门静脉高压表现 00:01 1. 门静脉构成 00:13 组成结构:由肠系膜上静脉和脾静脉汇合构成,是肝脏血液供应的主要来源。淤血后果:门静脉淤血会同时导致脾静脉和肠系膜上静脉淤血,引发后续系列症状。 2. 脾大和脾功能亢进 00:46 …...
五、jmeter脚本参数化
目录 1、脚本参数化 1.1 用户定义的变量 1.1.1 添加及引用方式 1.1.2 测试得出用户定义变量的特点 1.2 用户参数 1.2.1 概念 1.2.2 位置不同效果不同 1.2.3、用户参数的勾选框 - 每次迭代更新一次 总结用户定义的变量、用户参数 1.3 csv数据文件参数化 1、脚本参数化 …...
Axure零基础跟我学:展开与收回
亲爱的小伙伴,如有帮助请订阅专栏!跟着老师每课一练,系统学习Axure交互设计课程! Axure产品经理精品视频课https://edu.csdn.net/course/detail/40420 课程主题:Axure菜单展开与收回 课程视频:...
