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…...

华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...

大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...

【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

【分享】推荐一些办公小工具
1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由:大部分的转换软件需要收费,要么功能不齐全,而开会员又用不了几次浪费钱,借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
vue3 daterange正则踩坑
<el-form-item label"空置时间" prop"vacantTime"> <el-date-picker v-model"form.vacantTime" type"daterange" start-placeholder"开始日期" end-placeholder"结束日期" clearable :editable"fal…...

【堆垛策略】设计方法
堆垛策略的设计是积木堆叠系统的核心,直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法,涵盖基础规则、优化算法和容错机制: 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则: 大尺寸/重量积木在下…...