2023年最新5A景区有多少个?Python可视化告诉你

news2024/10/6 2:25:07

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 np

def 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,点击下方名片关注我。☟

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【五一创作】【Mycat】Mycat2 Bugs 及修改建议(V1.22_2022-10-13)

Bug 1 : wrapper.conf 数字类型参数配置有误,多了末尾的单位 M https://wrapper.tanukisoftware.com/doc/english/prop-java-initmemory.html wrapper.log 产生警告: WARN | wrapper | 2023/04/20 22:42:00 | Encountered an invalid numerical val…

【Git 入门教程】第八节、Git流程管理

Git是一个非常流行的分布式版本控制系统,它提供了许多强大的功能来帮助开发者管理和协调代码库。在团队协作中,如何使用Git来管理开发流程是非常重要的。本文将介绍一些Git流程管理的最佳实践,包括分支策略、代码审核等。 一、分支策略 在团…

【实战】jenkins api 接口

jenkins api 接口实战 一、Jenkins Api简介二、Jenkins Api 环境准备1、获取所有job接口2、获取所有job名字接口3、获取所有job名字和url接口 三、使用curl调用 获取所有构建队列四、使用curl调用 获取Job信息五、使用curl调用操作Job1、操作Job需要验证crumba、使用token发起接…

时序预测 | MATLAB实现BO-CNN-BiLSTM贝叶斯优化卷积双向长短期记忆网络时间序列预测

时序预测 | MATLAB实现BO-CNN-BiLSTM贝叶斯优化卷积双向长短期记忆网络时间序列预测 目录 时序预测 | MATLAB实现BO-CNN-BiLSTM贝叶斯优化卷积双向长短期记忆网络时间序列预测效果一览基本介绍模型搭建程序设计参考资料 效果一览 基本介绍 基于贝叶斯优化卷积双向长短期记忆网络…

GPT-3.5 也能直接联网了

ChatGPT 常令人诟病的一个问题,就是它的模型训练数据,迄今为止用的还是 2021 年的老数据。 对于当下这个信息大爆炸时代,相隔两小时,消息都有可能滞后,更别说相隔两年了。 目前正式开放了 Web Browsing 这款插件。 …

eLife:情绪学习对人脑记忆整合的回溯性促进机制

所谓“一朝被蛇咬,十年怕井绳”,带有强烈情绪色彩的事件不仅令人记忆深刻,还会影响与之相关的其他事件。我们的日常生活中充满了无数平凡琐碎的小事,这些事情并不会给我们留下深刻印象。但是,当一件微不足道的小事事后…

计算机网络中常见的数据传输方式(电路交换,报文交换,分组交换)

前言:大家好,我是小威,24届毕业生,在一家满意的公司实习。本篇文章将详细介绍计算机网络中常见的数据传输方式,如电路交换,报文交换,分组交换。 如果文章有什么需要改进的地方还请大佬不吝赐教&…

Spring DI简介及依赖注入方式和依赖注入类型

目录 一、什么是依赖注入 二、依赖注入方式 1. Setter注入 2. 构造方法注入 3. 自动注入 三、依赖注入类型 1. 注入bean类型 2. 注入基本数据类型 3. 注入List集合 4. 注入Set集合 5. 注入Map集合 6. 注入Properties对象 往期专栏&文章相关导读 1. Maven系…

使用Dino+SAM+Stable diffusion 自动进行图片的修改

SAM 是Mata发布的“Segment Anything Model”可以准确识别和提取图像中的对象。 它可以分割任何的图片,但是如果需要分割特定的物体,则需要需要点、框的特定提示才能准确分割图像。 所以本文将介绍一种称为 Grounding Dino 的技术来自动生成 SAM 进行分割…

【微机原理】计算机中数的表示及运算

目录 一、数的类型 二.数值的相互转换 三.机器数的表示 四.机器数的运算--补码加减法 五.运算结果溢出的判断。 六.数据的编码 一、数的类型 1.十进制(Decimal) 基数为10,用0、1、2、3、4、5、6、7、8、9十个数码表示数值,采用逢1…

思考外语学习的底层逻辑(以英语、法语为例)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言一、英语1.学习历程2.英语学习的心得3.理论检验(持续更新) 二、法语1.学习历程2.读入数据 总结 前言 提示:这里谈谈自己为什么要…

IDEA中使用Git提交代码提示:您即将把CRLF行分隔符提交到Gt仓库。 建议将core.autocrlf Git特性设置为trUe,以免发生行分隔符问题。

IDEA中使用Git提交代码提示:您即将把CRLF行分隔符提交到Gt仓库。 建议将core.autocrlf Git特性设置为trUe,以免发生行分隔符问题。 问题背景: 在IDEA中,使用Git提交代码到远程仓库时,结果弹出一个警告窗口 问题原因: …

java紫砂壶交易购物系统 mysql

网络紫砂壶可充通过色彩、图片、说明、设置动画加强了产品了宣传,大大达到了陶瓷业的“色型”要求。实现产品管理方便,起到立竿见影的效果,不用因为更改菜色而重新印刷。只要在后台鼠标轻轻一点,全线马上更新。采用B/S模式&#x…

Shell快速入门笔记

文章目录 Shell 快速入门笔记1、Shell概述2、Shell初体验4、注释5、变量6、数据类型6.1 字符串6.2 数组 7、参数传递8、运算符9、常用命令9.1 echo命令9.2 printf命令9.3 test命令 10、流程控制10.1 条件判断10.2 循环 11、函数12、输入/输出重定向12.0 前置知识12.1 输出重定向…

实验六~Web事件处理与过滤器

1. 创建一个名为exp06的Web项目,编写、部署、测试一个ServletContext事件监听器。 BookBean代码 package org.example.beans;import java.io.Serializable;/*** Created with IntelliJ IDEA.* Description:* User: Li_yizYa* Date: 2023—04—29* Time: 18:39*/ Su…

DDD系列:二、应用架构设计演变

作用: ​ 通过规定一个固定的架构设计,可以让团队内有一个统一的开发规范,降低沟通成本,提升效率和代码质量。 目标: ​ 在做架构设计时,一个好的架构应该需要实现以下几个目标: 独立于UI:前…

02-Vue技术栈之基础篇(下)

目录 1、class 与 style 绑定1.1 理解1.2 class 绑定1.3 style绑定1.4 代码示例 2、条件渲染2.1 v-if2.2 v-show2.3 注意事项2.4 代码示例 3、列表渲染3.1 基本列表3.2 key的原理3.2.1 虚拟DOM中key的作用:3.2.2 对比规则:3.2.3 用index作为key可能会引发…

防火墙GRE和NAT

要求: Pc2和pc3之间互通;做gre pc2与pc3访问公网pc1要做地址转换 基本配置:省略,小孩子都会 这里查看效果: 区域划分 fw1: fw2: 接口地址划分: fw1: fw2:…

武汉大学惯性导航课程合集【2021年秋】1.1惯性导航和惯性器件

重力外力加速度 机械阻尼换为电阻尼,带宽提高取决于控制器响应速度 右方是不平衡跷跷板,测量顶面电容 机械中测量角速度的旋转编码器,测速电机测量的两个看得见实际物体的转子定子相对角速度,但是陀螺是相对于惯性参考系&#xf…

【YOLO系列】YOLOv6论文超详细解读(翻译 +学习笔记)

前言 YOLOv6 是美团视觉智能部研发的一款目标检测框架,致力于工业应用。论文题目是《YOLOv6: A Single-Stage Object Detection Framework for Industrial Applications》。 本框架同时专注于检测的精度和推理效率,在工业界常用的尺寸模型中&#xff…