当前位置: 首页 > news >正文

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底层也是一个对象数组&#xff0c;protected Objectl] elementData; 3)Vector是线程同步的&…...

计算卸载论文阅读01-理论梳理

标题&#xff1a;When Learning Joins Edge: Real-time Proportional Computation Offloading via Deep Reinforcement Learning 会议&#xff1a;ICPADS 2019 一、梳理 问题&#xff1a;在任务进行卸载时&#xff0c;往往忽略了任务的特定的卸载比例。 模型&#xff1a;针…...

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 指定服务端口&#xff08;非必须&#xff09;2.5 配置系统变量2.6 安装服务2.7 Apach…...

15个使用率超高的Python库,下载量均过亿

今天给大家分享最近一年内PyPI上下载量最高的Python包。现在我们来看看这些包的作用&#xff0c;他们之间的关系&#xff0c;以及为什么如此流行。 1. Urllib3&#xff1a;8.93亿次下载 Urllib3 是 Python 的 HTTP 客户端&#xff0c;它提供了许多 Python 标准库没有的功能。 …...

所有知识付费都可以用 ChatGPT 再割一次?

伴随春天一起到来的&#xff0c;还有如雨后春笋般冒出的 ChatGPT / AI 相关的付费社群、课程训练营、知识星球等。 ChatGPT 吹来的这股 AI 热潮&#xff0c;这几个月想必大家多多少少都能感受到。 ▲ 图片来源&#xff1a;网络 这两张图是最近在圈子里看到的。 一张是国内各…...

Python中“is”和“==”的区别(避坑)

2.3 “is”和“”的区别 在Python编写代码时&#xff0c;经常会遇到需要判断2个对象是否相等的情况&#xff0c;这个时候一般就会想到使用is和&#xff0c;is和好像都可以用来判断对象是否相等&#xff0c;经常会傻傻分不清&#xff0c;但其实这其中还是有区别的。 不过在这之…...

20230426----重返学习-vue-router路由

day-058-fifty-eight-20230426-vue-router路由 vue-router路由 路由&#xff1a;切换页面&#xff0c;单页面应用上使用的 hash模式—锚点 对应vue版本 如何使用路由版本 vue2 —> router3vue3 —> router4 使用vue-router 创建项目的时候&#xff0c;直接选中路由…...

Java字节码指令

Java代码运行的过程是Java源码->字节码文件(.class)->运行结果。 Java编译器将Java源文件&#xff08;.java&#xff09;转换成字节码文件(.class)&#xff0c;类加载器将字节码文件加载进内存&#xff0c;然后进行字节码校验&#xff0c;最后Java解释器翻译成机器码。 …...

Vue3之setup参数介绍

setup(props, context) {... }一、参数 使用setup函数时&#xff0c;它将接受两个参数&#xff1a; propscontext 让我们更深入地研究如何使用每个参数 二、Props setup函数中的第一个参数是props。正如在一个标准组件中所期望的那样&#xff0c;setup函数中的props是响应…...

ESET NOD32 互联网安全软件和防毒软件 -简单,可靠的防护。

安全防范病毒和间谍软件&#xff0c;银行和网上购物更安全, 网络摄像头和家用路由器使用更安全&#xff0c;阻止黑客访问您的电脑, 让您的孩子网络安全&#xff1b;产品兑换码仅支持中国ip地址兑换&#xff0c;兑换后可全球通用。 简单&#xff0c;可靠的防护 防范黑客&#x…...

试试这几个冷门但好用的软件吧

软件一&#xff1a;探记 探记是一款专注于个人记录每一条记录的工具&#xff0c;主要特点如下&#xff1a; 简单易用&#xff1a;探记的界面设计简洁明了&#xff0c;操作流程简单易用&#xff0c;用户可以快速、方便地添加记录。 多样化记录类型&#xff1a;探记支持多种记…...

【云原生】k8s NetworkPolicy 网络策略是怎么样的

前言 随着微服务的流行&#xff0c;越来越多的云服务平台需要大量模块之间的网络调用。 在 Kubernetes 中&#xff0c;网络策略(NetworkPolicy)是一种强大的机制&#xff0c;可以控制 Pod 之间和 Pod 与外部网络之间的流量。 Kubernetes 中的 NetworkPolicy 定义了一组规则&…...

手把手教你用几行代码给winform多个控件(数量无上限)赋值

前言&#xff1a; 我们在开发winform程序的过程中&#xff0c;经常会遇到这样一个场景&#xff0c;我们设计的界面&#xff0c;比如主窗体有一百多个TextBox&#xff0c;然后初始化的时候要对这个一百多个TextBox的Text属性赋值&#xff0c;比如赋个1&#xff0c;如果是winfor…...

回炉重造十一------ansible批量安装服务

1.playbook的核心组件 Hosts 执行的远程主机列表Tasks 任务集,由多个task的元素组成的列表实现,每个task是一个字典,一个完整的代码块功能需最 少元素需包括 name 和 task,一个name只能包括一个taskVariables 内置变量或自定义变量在playbook中调用Templates 模板&#xff0c;…...

系统集成项目管理工程师 笔记(第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&#xff1a;Channel-wise Knowledge Distillation for Dense Prediction official implementation&#xff1a;https://github.com/irfanICMLL/TorchDistiller/tree/main/SemSeg-distill 摘要 之前大多数用于密集预测dense prediction任务的蒸馏方法在空间域spatial…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...

解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist

现象&#xff1a; android studio报错&#xff1a; [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决&#xff1a; 不要动CMakeLists.…...

Vue ③-生命周期 || 脚手架

生命周期 思考&#xff1a;什么时候可以发送初始化渲染请求&#xff1f;&#xff08;越早越好&#xff09; 什么时候可以开始操作dom&#xff1f;&#xff08;至少dom得渲染出来&#xff09; Vue生命周期&#xff1a; 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

图解JavaScript原型:原型链及其分析 | JavaScript图解

​​ 忽略该图的细节&#xff08;如内存地址值没有用二进制&#xff09; 以下是对该图进一步的理解和总结 1. JS 对象概念的辨析 对象是什么&#xff1a;保存在堆中一块区域&#xff0c;同时在栈中有一块区域保存其在堆中的地址&#xff08;也就是我们通常说的该变量指向谁&…...

前端调试HTTP状态码

1xx&#xff08;信息类状态码&#xff09; 这类状态码表示临时响应&#xff0c;需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分&#xff0c;客户端应继续发送剩余部分。 2xx&#xff08;成功类状态码&#xff09; 表示请求已成功被服务器接收、理解并处…...