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

用Python可视化国庆期间旅游概况与消费趋势

用Python可视化国庆期间旅游概况与消费趋势

根据2025年多个省市发布的官方数据,国庆中秋假期期间,国内旅游市场呈现出强劲的复苏态势,多个地区的游客接待量和旅游收入均实现了显著增长。

下面这个表格汇总了部分省市在2025年国庆假期的主要旅游数据,可以对整体情况有个快速的了解。

省份/城市接待游客人次同比增长旅游收入同比增长
江苏省6075.15万24.48%644.93亿元23.73%
广东省6517.6万11.5%613.2亿元14.2%
湖南省3992.94万19.35%502.06亿元25.96%
清远市184.33万*28.49%*未明确未明确
上海市未明确未明确796亿元#3.0%#

注:清远市数据为截至10月4日中午的统计;上海市数据为线上线下消费总额,非纯旅游收入。

2025国庆期间区域旅游热点

从地方数据来看,2025年国庆假期,多个省市的旅游市场也呈现强劲复苏态势。

# 地区旅游数据
regions = ['湖南省', '清远市']
visitor_counts = [3992.94, 184.33]  # 万人次
revenues = [502.06, None]  # 亿元,清远收入数据未明确
growth_visitors = [19.35, 28.49]  # 百分比
growth_revenues = [25.96, None]  # 百分比# 绘制双轴图
fig, ax1 = plt.subplots(figsize=(10, 6))x = np.arange(len(regions))
width = 0.35# 柱状图:接待游客量
bars1 = ax1.bar(x - width/2, visitor_counts, width, label='接待游客 (万人次)', color='skyblue', alpha=0.7)
ax1.set_ylabel('接待游客量 (万人次)', color='skyblue')
ax1.tick_params(axis='y', labelcolor='skyblue')# 第二个y轴:增长率
ax2 = ax1.twinx()
line1 = ax2.plot(x, growth_visitors, color='crimson', marker='o', linewidth=3, label='游客同比增长率 (%)')
ax2.set_ylabel('同比增长率 (%)', color='crimson')
ax2.tick_params(axis='y', labelcolor='crimson')# 添加数据标签
for i, (bar, growth) in enumerate(zip(bars1, growth_visitors)):ax1.text(bar.get_x() + bar.get_width()/2., bar.get_height() + 50,f'{visitor_counts[i]}万', ha='center', va='bottom')ax2.text(i, growth + 0.5, f'{growth}%', ha='center', va='bottom', color='crimson', fontweight='bold')ax1.set_xlabel('地区')
ax1.set_xticks(x)
ax1.set_xticklabels(regions)
ax1.set_title('2025年国庆假期部分地区旅游数据对比', pad=20)# 合并图例
lines1, labels1 = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax1.legend(lines1 + lines2, labels1 + labels2, loc='upper left')plt.tight_layout()
plt.show()

图4:2025年国庆假期部分地区旅游数据对比
在这里插入图片描述

图表解读与说明

  • 全面高速增长:江苏、广东、湖南三省在游客量和旅游收入上均实现了两位数的同比增长,反映出2025年国庆旅游市场强劲的复苏势头。
  • 增长冠军湖南省接待游客近4000万人次,同比增长19.35%;游客总花费超500亿元,同比增长25.96%,人均花费达1257.9元。
  • 量价齐升江苏省在两个增长率指标上都非常均衡且突出(游客增24.48%,收入增23.73%),说明其旅游市场不仅吸引了更多人,也有效地将人流转化为了消费。
  • 清远市:截至10月4日,已接待游客184.33万人次,同比增长28.49% 。其旅游亮点包括清远长隆、古龙峡等龙头景区,以及预订率普遍超八成的特色民宿。

通过柱状图,横向对比一下各省市在接待游客量旅游收入这两个核心指标上的表现。

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
from matplotlib.ticker import FuncFormatter# 设置中文字体和颜色
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
sns.set_style("whitegrid")
colors = sns.color_palette("Set2")# 准备数据
data = {'Region': ['江苏省', '广东省', '湖南省', '清远市', '上海市'],'Visitors (10k)': [6075.15, 6517.6, 3992.94, 184.33, np.nan],'Visitor Growth (%)': [24.48, 11.5, 19.35, 28.49, np.nan],'Revenue (100M yuan)': [644.93, 613.2, 502.06, np.nan, 796.0],'Revenue Growth (%)': [23.73, 14.2, 25.96, np.nan, 3.0]
}
df = pd.DataFrame(data)
# 1. 核心指标横向对比 (游客量与旅游收入)
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(14, 6))# 游客量对比 (过滤掉空值)
visitors_data = df[df['Visitors (10k)'].notna()]
bars1 = ax1.bar(visitors_data['Region'], visitors_data['Visitors (10k)'], color=colors[0], alpha=0.8)
ax1.set_title('各省市接待游客量对比', fontsize=14, pad=15)
ax1.set_ylabel('接待游客 (万人次)')
# 在柱子上显示数据
for bar in bars1:height = bar.get_height()ax1.text(bar.get_x() + bar.get_width()/2., height + 50,f'{height:.0f}', ha='center', va='bottom')# 旅游收入对比 (过滤掉空值)
revenue_data = df[df['Revenue (100M yuan)'].notna()]
bars2 = ax2.bar(revenue_data['Region'], revenue_data['Revenue (100M yuan)'], color=colors[1], alpha=0.8)
ax2.set_title('各省市旅游收入对比', fontsize=14, pad=15)
ax2.set_ylabel('旅游收入 (亿元)')
# 在柱子上显示数据
for bar in bars2:height = bar.get_height()ax2.text(bar.get_x() + bar.get_width()/2., height + 10,f'{height:.0f}', ha='center', va='bottom')plt.tight_layout()
plt.show()

图8:各省市旅游收入对比
在这里插入图片描述

图表解读与说明

  • 游客量广东省在接待游客人次上位居榜首,超过了6500万。江苏省以超过6000万人次的成绩紧随其后。
  • 旅游收入:虽然广东省的游客量最大,但上海市的旅游收入达到了796亿元,显著高于其他省份。
    这通常与上海作为国际大都市,游客的人均消费水平较高有关。江苏省和广东省的旅游收入则在同一量级,分别为644.93亿元和613.2亿元。

💰 游客量与收入散点图

接下来,我们通过散点图来观察游客量与旅游收入之间的整体关系,气泡大小则代表了游客量的增长率。

# 3. 游客量与旅游收入关系散点图 (气泡大小表示游客量增长率)
# 只使用有完整数据的三个省份
scatter_df = df[(df['Visitors (10k)'].notna()) & (df['Revenue (100M yuan)'].notna()) & (df['Region'] != '上海市')]fig, ax = plt.subplots(figsize=(10, 6))# 计算气泡大小,基于游客增长率
bubble_size = scatter_df['Visitor Growth (%)'] * 10scatter = ax.scatter(scatter_df['Visitors (10k)'], scatter_df['Revenue (100M yuan)'], s=bubble_size, alpha=0.6, c=colors[4], edgecolors='grey')ax.set_xlabel('接待游客 (万人次)')
ax.set_ylabel('旅游收入 (亿元)')
ax.set_title('游客量与旅游收入关系 (气泡大小表示游客量增长率)', fontsize=14, pad=20)# 为每个点添加标签
for i, row in scatter_df.iterrows():ax.annotate(row['Region'], (row['Visitors (10k)'], row['Revenue (100M yuan)']),xytext=(5, 5), textcoords='offset points', fontsize=9)plt.tight_layout()
plt.show()

图10:游客量与旅游收入关系 (气泡大小表示游客量增长率)
在这里插入图片描述

图表解读与说明

  • 这张图直观地展示了各省在“量”和“额”上的位置。
  • 广东省位于图表的右下方,意味着它在游客总量上领先,但旅游收入相对其游客规模而言,有进一步提升的潜力。
  • 江苏省的位置相对均衡,游客量和收入都处于高位。
  • 气泡的大小(增长率)补充了动态信息,可以看到湖南省虽然总量稍小,但增长势头很猛。

💎 总结

通过以上可视化分析,我们可以得出以下核心结论:

  1. 总量与增速双高:主要旅游大省(江苏、广东)在巨大的游客基数上,依然保持了超过10%的快速增长,显示了国内旅游市场的强大活力和复苏韧性。
  2. 增长质量差异江苏省实现了“量价齐升”的高质量增长;湖南省则在旅游收入增长上最为迅猛;广东省需关注如何将巨大的客流量更有效地转化为消费。
  3. 消费能级差异上海市的旅游收入一枝独秀,凸显出其作为国际消费中心城市的强大吸引力和高消费水平。
  4. 市场下沉趋势:像清远市这样的非省会城市表现出极高的增长潜力,表明县域旅游正成为新的增长点。

📈 历年国庆旅游人次与收入趋势对比

要理解2025年数据的意义,我们将其放在近几年的趋势中来看。下图直观地展示了疫情后全国国庆旅游市场的复苏路径。

import matplotlib.pyplot as plt
import numpy as np# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号# 定义数据
years = ['2019', '2022', '2023', '2024', '2025E']
domestic_tourists = [7.82, 4.22, 8.26, 7.65, 7.80]  # 单位:亿人次。2025年为基于现状的预测值。
tourism_revenue = [6497.1, 2872.1, 7534.3, 7008.17, 7200]  # 单位:亿元。2025年为基于现状的预测值。# 创建图表和左右两个纵坐标轴
fig, ax1 = plt.subplots(figsize=(10, 6))color = 'tab:red'
ax1.set_xlabel('年份')
ax1.set_ylabel('国内旅游人次 (亿人次)', color=color)
line1 = ax1.plot(years, domestic_tourists, color=color, marker='o', linewidth=2, label='国内旅游人次')
ax1.tick_params(axis='y', labelcolor=color)
ax1.set_ylim(0, max(domestic_tourists) * 1.1)#  instantiate a second axes that shares the same x-axis
ax2 = ax1.twinx()
color = 'tab:blue'
ax2.set_ylabel('旅游收入 (亿元)', color=color)
line2 = ax2.plot(years, tourism_revenue, color=color, marker='s', linewidth=2, label='旅游收入')
ax2.tick_params(axis='y', labelcolor=color)
ax2.set_ylim(0, max(tourism_revenue) * 1.1)# 添加标题和网格
plt.title("全国国庆假期国内旅游人次与收入趋势 (2019-2025)", fontsize=14, pad=20)
ax1.grid(True, linestyle='--', alpha=0.7)# 合并图例
lines, labels = ax1.get_legend_handles_labels()
lines2, labels2 = ax2.get_legend_handles_labels()
ax2.legend(lines + lines2, labels + labels2, loc='upper left')fig.tight_layout()
plt.show()

图1:全国国庆假期国内旅游人次与收入趋势 (2019-2025)
在这里插入图片描述

  • 深度衰退期 (2020-2022年):受疫情影响,旅游市场跌入谷底。2022年旅游收入仅为2872.1亿元,不足2019年的一半。
  • 强势反弹期 (2023年):随着疫情政策调整,被压抑的旅行需求集中释放,当年国庆出游人数和旅游收入(8.26亿人次,7534.3亿元)均创下历史新高,出现“报复性消费”。
  • 稳健复苏期 (2024-2025年):市场从异常高点回落并趋于稳定。2024年数据(7.65亿人次,7008.17亿元)仍明显高于疫情前2019年的水平。
    结合2025年各省的强劲增长来看,全国市场预计将延续这一稳健复苏的势头,消费潜力持续释放。

📊 全国消费大盘:稳定增长,结构优化

根据国家税务总局的数据,2025年国庆中秋假期全国消费相关行业日均销售收入同比增长4.5% 。消费结构也在持续优化,服务消费增速(7.6%)显著快于商品消费(3.9%),显示出消费升级的强劲动力。

import matplotlib.pyplot as plt
import numpy as np# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 消费数据
categories = ['全国日均消费', '商品消费', '服务消费', '绿色有机食品', '智能家居', '国潮服装']
growth_rates = [4.5, 3.9, 7.6, 27.9, 14.3, 14.1]
colors = ['#FF6B6B', '#4ECDC4', '#556270', '#C06C84', '#F8B195', '#6A5ACD']# 绘制条形图
fig, ax = plt.subplots(figsize=(10, 6))
bars = ax.bar(categories, growth_rates, color=colors, alpha=0.8)# 在条形上添加数据标签
for bar, rate in zip(bars, growth_rates):height = bar.get_height()ax.text(bar.get_x() + bar.get_width()/2., height + 0.3,f'{rate}%', ha='center', va='bottom', fontsize=10)ax.set_ylabel('同比增长率 (%)')
ax.set_title('2025年国庆假期主要消费领域同比增长情况', pad=20)
ax.set_ylim(0, max(growth_rates) * 1.15)
plt.xticks(rotation=45)
plt.grid(axis='y', linestyle='--', alpha=0.7)plt.tight_layout()
plt.show()

图2:2025年国庆假期主要消费领域同比增长情况
在这里插入图片描述

从图中可以看出:

  • 数码产品汽车消费增长较快。
  • 绿色、智能、国潮成为商品消费的新趋势,其中绿色有机食品销售额增长高达27.9%
  • 旅游、文化艺术体育服务需求强劲。

🚗 全民出行图景:24.32亿人次的大流动

2025年国庆假期,全国跨区域流动总量达到了24.32亿人次,日均3.04亿人次,同比增长6.2%。10月1日当天更是创下3.36亿人次的单日历史峰值。
通过下面这张国庆假期全国跨区域人口流动趋势图,你可以对整体的人流规模和每日变化有一个直观的了解。

import matplotlib.pyplot as plt
import numpy as np# 设置中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 数据准备 (数据来源:交通运输部)
dates = ['10-01', '10-02', '10-03', '10-04', '10-05', '10-06', '10-07', '10-08']
daily_flow = [33600, 30400, 30400, 30400, 30400, 30400, 30400, 29113.38] # 单位:万人次# 绘制折线图
fig, ax = plt.subplots(figsize=(10, 6))
ax.plot(dates, daily_flow, marker='o', linewidth=2, markersize=8, color='#E74C3C')# 标注峰值
ax.annotate('历史峰值:3.36亿人次', xy=('10-01', 33600), xytext=('10-02', 34000),arrowprops=dict(facecolor='black', shrink=0.05, width=1.5),fontsize=10, ha='center')# 图表美化
ax.set_title("2025年国庆假期全国跨区域人员流动量每日趋势", fontsize=14, pad=20)
ax.set_xlabel("日期", labelpad=10)
ax.set_ylabel("人员流动量 (万人次)", labelpad=10)
ax.grid(True, linestyle='--', alpha=0.7)
ax.set_ylim(28000, 35000)# 在柱子上显示具体数值
for i, v in enumerate(daily_flow):ax.text(i, v + 500, f'{v/10000:.2f}亿', ha='center', va='bottom', fontsize=9)plt.tight_layout()
plt.show()

图6:2025年国庆假期全国跨区域人员流动量每日趋势

在这里插入图片描述

这张图清晰地揭示了2025年国庆假期人口流动在时间上的**“前高后缓、双峰波动”** 特征。

  • 出行最高峰出现在假期首日(10月1日),跨区域人员流动量达到3.36亿人次,创下历史同期新高。
  • 随后几日流量回落并维持在日均约3.04亿人次的水平。
  • 返程高峰则呈现出 “拉长式” 的特点,在10月5日至6日的下午出现时段性峰值,而非传统的单日集中返程。

🗺️ 人口流动结构洞察

了解完总体趋势后,我们进一步拆解如此庞大的人流,是如何选择出行方式的?下面的饼图揭示了答案。

# 出行方式数据
transport_modes = ['自驾出行', '铁路', '民航', '水路']
volumes = [18.7, 1.54, 0.19, 0.12]  # 亿人次
colors = ['#FF9999', '#66B3FF', '#99FF99', '#FFD700']
explode = (0.1, 0, 0, 0)  # 突出自驾部分# 绘制饼图
fig, ax = plt.subplots(figsize=(8, 8))
wedges, texts, autotexts = ax.pie(volumes, explode=explode, labels=transport_modes, colors=colors,autopct='%1.1f%%', startangle=90, textprops={'fontsize': 12})# 美化百分比文字
for autotext in autotexts:autotext.set_color('white')autotext.set_fontweight('bold')ax.set_title('2025年国庆假期出行方式分布(总量:24.32亿人次)', pad=20, fontsize=14)
plt.show()

图3:2025年国庆假期出行方式分布(总量:24.32亿人次)
在这里插入图片描述

出行方式呈现显著的结构化特征:

  • 自驾出行80% 的绝对占比主导市场,总量达18.7亿人次
  • 铁路民航客运量则呈现“双峰分布”特征,首日(10月1日)和末日(10月8日)均形成明显高峰。

一个值得注意的亮点是,自驾出行中新能源车流量同比增长26-30%,10月1日高速公路新能源汽车通行量达1329万辆次,当日充电量1749万千瓦时,创下历史新高,同比增长41.95%。

🧭 热门流动方向

那么,如此庞大的人流主要流向了哪些地方?下面的图表揭示了热门目的地和空间分布格局。

# 准备热门城市数据 (数据来源:综合搜索结果)
hot_cities = ['北京', '广州', '成都', '深圳', '上海', '西安', '杭州', '重庆']
# 使用日均出行人数的相对指数来模拟热度,单位:百万(基于“日均出行人数超过500万的城市有4个”等信息估算)
hotness_index = [9.5, 9.8, 9.2, 8.8, 8.5, 7.5, 7.0, 7.8] df_cities = pd.DataFrame({'城市': hot_cities, '热度指数': hotness_index})# 绘制水平条形图
fig = px.bar(df_cities, y='城市', x='热度指数', orientation='h',title='<b>2025年国庆假期热门出行城市热度指数</b>',color='热度指数', color_continuous_scale='Viridis')fig.update_layout(yaxis={'categoryorder':'total ascending'})
fig.show()

图7:2025年国庆假期热门出行城市热度指数
在这里插入图片描述

from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.globals import ChartType, SymbolType# 构建图表
c = (Geo(init_opts=opts.InitOpts(width="1200px", height="600px")).add_schema(maptype="china", itemstyle_opts=opts.ItemStyleOpts(color="#323c48", border_color="#111"))# 添加热门城市作为亮点.add("热门城市",[("北京", 150), ("上海", 140), ("广州", 130), ("深圳", 120), ("成都", 110), ("西安", 100)],type_=ChartType.EFFECT_SCATTER,color="white",)# 添加人口流动轨迹.add("人口流动",[("北京", "成都"), ("上海", "西安"), ("广州", "西安"), ("深圳", "成都"), ("北京", "西安"), ("上海", "成都")],type_=ChartType.LINES,# 设置流动线效果effect_opts=opts.EffectOpts(symbol=SymbolType.ARROW, symbol_size=5, color="gold"),linestyle_opts=opts.LineStyleOpts(curve=0.2, width=2, color="source", opacity=0.6),).set_series_opts(label_opts=opts.LabelOpts(is_show=False)).set_global_opts(title_opts=opts.TitleOpts(title="2025年国庆假期全国人口流动示意图", subtitle="数据来源:交通运输部"))
)# 渲染为HTML文件
c.render("national_day_migration.html")

图5:2025年国庆假期全国人口流动示意图

在这里插入图片描述

从空间分布来看,人口流动形成了 “核心城市引领、县域特色补充” 的格局。

  • 一线及热门旅游城市:如北京、上海、广州、成都、深圳、西安等,凭借其丰富的旅游资源和完善的服务设施,成为公众出行的首选目的地。
  • 县域旅游市场:呈现爆发式增长,订单同比增长超100%。这表明游客不再仅仅集中于大城市,而是向更多元、更具地方特色的区域扩散。

💎 核心结论与洞察

综合以上的可视化分析,关于2025年国庆全国人口流动,我们可以得出以下核心结论:

  1. 流动规模创纪录,经济活力强劲:全社会跨区域人员流动总量预计达24.32亿人次,日均超3亿人次,同比增长6.2%。这一庞大的人口流动规模,是消费市场活跃和经济社会活力的直接体现。
  2. 出行结构深度变革,自驾与新能源成主流自驾出行80% 的绝对占比主导市场,标志着居民出行方式的深刻变迁。同时,新能源汽车在假期大规模上路,凸显了绿色出行方式的快速普及。
  3. 时空分布呈现新特征,出行选择更趋理性:时间上表现为 “首尾双峰” 但返程高峰拉长、趋于平缓。这反映出游客的行程规划更加灵活和分散,有助于缓解交通压力,提升旅行体验。
  4. "流动的团圆"成为新民俗,情感联结方式多样化:传统的"返乡团圆"正在向 “带着家去旅行” 的"流动的团圆"转变。家庭亲子客群占比高,"一老一小"跨代出行增幅显著,表明假期成为家庭成员情感联结的重要场景。

🎬 文体消费新场景:电影与商圈

除了传统旅游,文化体育消费也成为假期的重要亮点,但表现各有不同。

电影市场方面,2025年国庆档票房为18.35亿元,是近十年来第三低,仅高于2016年和2022年。平均票价为36.64元,同比下降9.28%。票房前五的影片分别是:

  1. 《志愿军:浴血和平》4.50亿元
  2. 《731》3.45亿元
  3. 《刺杀小说家2》2.95亿元
  4. 《浪浪人生》2.19亿元
  5. 《震耳欲聋》1.75亿元
# 票房前五影片数据
movies = ['《志愿军:浴血和平》', '《731》', '《刺杀小说家2》', '《浪浪人生》', '《震耳欲聋》']
box_office = [4.50, 3.45, 2.95, 2.19, 1.75]  # 亿元
colors = ['#FF9999', '#66B3FF', '#99FF99', '#FFD700', '#FF99CC']# 创建饼图和柱状图
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(16, 6))# 饼图 - 票房占比
wedges, texts, autotexts = ax1.pie(box_office, labels=movies, colors=colors, autopct='%1.1f%%',startangle=90)
ax1.set_title('2025年国庆档票房前五影片占比', fontsize=14, pad=20)# 美化饼图文字
for autotext in autotexts:autotext.set_color('white')autotext.set_fontweight('bold')# 柱状图 - 具体票房
bars = ax2.bar(movies, box_office, color=colors, alpha=0.8)
ax2.set_title('2025年国庆档票房前五影片票房', fontsize=14, pad=20)
ax2.set_ylabel('票房 (亿元)')
ax2.tick_params(axis='x', rotation=45)# 在柱子上添加数值
for bar, value in zip(bars, box_office):height = bar.get_height()ax2.text(bar.get_x() + bar.get_width()/2., height + 0.1,f'{value}亿元', ha='center', va='bottom')plt.tight_layout()
plt.show()

图11:2025年国庆档票房前五影片票房
在这里插入图片描述

# 近五年国庆档数据
years = ['2021', '2022', '2023', '2024', '2025']
historical_box_office = [43.87, 14.97, 27.34, 21.05, 18.35]  # 亿元
historical_avg_price = [46.8, 42.2, 41.5, 40.3, 36.64]  # 元
historical_audience = [9374, 3612, 6588, 5209, 5007]  # 万人次# 创建对比图表
fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(18, 6))# 票房对比
ax1.plot(years, historical_box_office, marker='o', linewidth=3, markersize=8, color='#E74C3C')
ax1.set_title('近五年国庆档票房对比 (亿元)', fontsize=14, pad=20)
ax1.set_ylabel('票房 (亿元)')
ax1.grid(True, linestyle='--', alpha=0.7)# 标注2025年数据
ax1.annotate('近五年最低', xy=('2025', 18.35), xytext=('2023', 15),arrowprops=dict(facecolor='black', shrink=0.05, width=1.5),fontsize=10)# 平均票价对比
ax2.bar(years, historical_avg_price, color=['#3498DB', '#3498DB', '#3498DB', '#3498DB', '#E74C3C'])
ax2.set_title('近五年国庆档平均票价对比 (元)', fontsize=14, pad=20)
ax2.set_ylabel('平均票价 (元)')# 在柱子上添加数值
for i, v in enumerate(historical_avg_price):ax2.text(i, v + 0.5, f'{v}元', ha='center', va='bottom')# 观影人次对比
ax3.bar(years, [x/1000 for x in historical_audience], color=['#2ECC71', '#2ECC71', '#2ECC71', '#2ECC71', '#E74C3C'])
ax3.set_title('近五年国庆档观影人次对比 (千万)', fontsize=14, pad=20)
ax3.set_ylabel('观影人次 (千万)')# 在柱子上添加数值
for i, v in enumerate(historical_audience):ax3.text(i, v/1000 + 0.1, f'{v}万', ha='center', va='bottom')plt.tight_layout()
plt.show()

图12:近五年国庆档票房对比
在这里插入图片描述

主要发现:

  • 票房表现疲软:2025年国庆档票房18.35亿元,是近五年第二低,仅高于2022年
  • 票价显著下降:平均票价36.64元,同比下降9.28%,为近五年首次跌破40元大关
  • 市场集中度低:票房前三影片合计贡献率仅60%,为2016年以来最低

相比之下,线下商圈人气更旺。商务部重点监测的78个步行街(商圈)客流量、营业额分别增长8.8%6.0% 。各地还将体育赛事与消费结合,开设集美食、文创与特色商品为一体的观赛“第二现场”,有效延伸了赛事热度。

# 重点城市商圈数据
cities = ['上海南京路', '北京王府井', '成都春熙路', '广州天河路', '重庆解放碑', '武汉江汉路', '西安小寨', '南京新街口', '杭州湖滨', '深圳华强北']
foot_traffic = [125.6, 118.3, 98.7, 95.4, 88.9, 76.5, 68.2, 72.8, 65.4, 58.7]  # 万人次/日
growth_rates = [10.2, 8.7, 12.5, 9.3, 15.8, 11.4, 13.6, 8.9, 14.2, 7.5]  # %# 创建城市商圈热度图
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(16, 8))# 客流量排名
y_pos = np.arange(len(cities))
bars1 = ax1.barh(y_pos, foot_traffic, color=plt.cm.viridis(np.linspace(0, 1, len(cities))))
ax1.set_yticks(y_pos)
ax1.set_yticklabels(cities)
ax1.set_xlabel('日均客流量 (万人次)')
ax1.set_title('重点城市商圈国庆假期日均客流量排名', fontsize=14, pad=20)
for i, v in enumerate(foot_traffic):ax1.text(v + 2, i, f'{v}万', va='center', fontweight='bold')# 增长率气泡图
scatter = ax2.scatter(foot_traffic, growth_rates, s=[x*20 for x in foot_traffic], alpha=0.6, c=growth_rates, cmap='RdYlGn')
ax2.set_xlabel('日均客流量 (万人次)')
ax2.set_ylabel('客流量同比增长 (%)')
ax2.set_title('商圈规模与增长关系分析', fontsize=14, pad=20)
ax2.grid(True, linestyle='--', alpha=0.7)# 添加城市标签
for i, city in enumerate(cities):ax2.annotate(city, (foot_traffic[i], growth_rates[i]), xytext=(5, 5), textcoords='offset points', fontsize=9)# 添加颜色条
plt.colorbar(scatter, ax=ax2, label='增长率 (%)')plt.tight_layout()
plt.show()

图13:重点城市商圈国庆假期日均客流量
在这里插入图片描述

市场启示:
线下商圈通过"内容+场景+社交"的创新模式,成功抵御了线上分流压力,证明实体商业在提供沉浸式体验方面仍具有不可替代的优势。

🎯 2025年旅游新动向

今年的国庆旅游市场,出现了一些值得关注的新特点:

  • “文旅+”融合业态备受青睐
    • 文旅+体育:广东借十五运会契机,举办文旅嘉年华,广州文化公园的彩灯将运动项目与吉祥物巧妙融合,成为打卡新地标。
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd# 设置中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 广州体育嘉年华数据
sports_events = {'类别': ['全运场馆改造', '商圈体育消费', '国际赛事', '城市品牌赛事', '青少年赛事'],'数量/场次': [23, 100, 50, 200, 1],'参与规模': [23, 100, 1000, 500000, 5000]
}df_sports = pd.DataFrame(sports_events)# 创建图表
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 6))# 场馆和赛事数量
bars1 = ax1.bar(df_sports['类别'], df_sports['数量/场次'], color=['#FF6B6B', '#4ECDC4', '#556270', '#C06C84', '#F8B195'])
ax1.set_title('广州体育嘉年华各类活动规模', fontsize=14, pad=20)
ax1.set_ylabel('数量/场次')
ax1.tick_params(axis='x', rotation=45)# 添加数据标签
for bar in bars1:height = bar.get_height()ax1.text(bar.get_x() + bar.get_width()/2., height + 5,f'{height}', ha='center', va='bottom')# 参与人数(对数坐标)
bars2 = ax2.bar(df_sports['类别'], df_sports['参与规模'], color=['#FF9999', '#66B3FF', '#99FF99', '#FFD700', '#FF99CC'])
ax2.set_title('各类活动参与人数规模', fontsize=14, pad=20)
ax2.set_ylabel('参与人数')
ax2.tick_params(axis='x', rotation=45)
ax2.set_yscale('log')# 添加数据标签
for bar in bars2:height = bar.get_height()ax2.text(bar.get_x() + bar.get_width()/2., height * 1.1,f'{height:,}', ha='center', va='bottom')plt.tight_layout()
plt.show()

图15:体育带动文旅
在这里插入图片描述

  • 文旅+演艺:江苏的音乐节经济异常火爆。常州太湖湾音乐节、华晨宇南京演唱会等大型活动,吸引了数十万乐迷,带动了当地消费。
  # 音乐节经济数据
music_festivals = {'音乐节': ['太湖湾音乐节', '咪豆音乐节', '华晨宇南京演唱会'],'参与人数': [140000, 60000, 30000],'外地观众占比': [70, 81, 85],'直接收入(万元)': [4500, 3500, 3600],'带动消费(亿元)': [2.8, 1.68, 1.2]
}df_music = pd.DataFrame(music_festivals)# 创建音乐节效应分析图
fig, ((ax1, ax2), (ax3, ax4)) = plt.subplots(2, 2, figsize=(16, 12))# 参与人数对比
bars1 = ax1.bar(df_music['音乐节'], df_music['参与人数'], color=['#E74C3C', '#3498DB', '#2ECC71'])
ax1.set_title('各演艺活动参与人数对比', fontsize=14, pad=20)
ax1.set_ylabel('参与人数')
for bar in bars1:height = bar.get_height()ax1.text(bar.get_x() + bar.get_width()/2., height + 2000,f'{height/10000:.1f}万', ha='center', va='bottom')# 外地观众占比
wedges, texts, autotexts = ax2.pie(df_music['外地观众占比'], labels=df_music['音乐节'], autopct='%1.1f%%', colors=['#E74C3C', '#3498DB', '#2ECC71'])
ax2.set_title('各演艺活动外地观众占比', fontsize=14, pad=20)
for autotext in autotexts:autotext.set_color('white')autotext.set_fontweight('bold')# 直接收入与带动消费
x = np.arange(len(df_music['音乐节']))
width = 0.35
bars3 = ax3.bar(x - width/2, df_music['直接收入(万元)'], width, label='直接收入(万元)', color='#F39C12')
bars4 = ax3.bar(x + width/2, [x*10000 for x in df_music['带动消费(亿元)']], width, label='带动消费(万元)', color='#9B59B6')
ax3.set_title('直接收入与带动消费对比', fontsize=14, pad=20)
ax3.set_xticks(x)
ax3.set_xticklabels(df_music['音乐节'])
ax3.legend()# 添加数据标签
for bars in [bars3, bars4]:for bar in bars:height = bar.get_height()ax3.text(bar.get_x() + bar.get_width()/2., height + 500000,f'{height/10000 if height > 10000 else height:.1f}{"亿" if height > 10000 else "万"}', ha='center', va='bottom', fontsize=8)# 消费带动倍数
leverage_ratio = [x*10000/y for x,y in zip(df_music['带动消费(亿元)'], df_music['直接收入(万元)'])]
bars5 = ax4.bar(df_music['音乐节'], leverage_ratio, color=['#1ABC9C', '#34495E', '#E67E22'])
ax4.set_title('演艺活动消费带动倍数', fontsize=14, pad=20)
ax4.set_ylabel('带动倍数')
for bar in bars5:height = bar.get_height()ax4.text(bar.get_x() + bar.get_width()/2., height + 0.5,f'{height:.1f}倍', ha='center', va='bottom')plt.tight_layout()
plt.show()

图14:演艺带动文旅
在这里插入图片描述

  • “夜经济”成为消费增长新引擎
    各地大力发展夜间文旅经济。广东丹霞山打造的“万古丹霞”光影秀,成为吸引游客的亮点。江苏的75家夜间文旅消费集聚区开展了137项夜间活动,有效拉动了夜间消费。

  • 品质化与个性化成为新追求
    游客不再满足于走马观花,更追求深度体验。乡村民宿、主题露营、非遗文化体验等特色产品持续走俏。例如,清远的特色民宿预订率普遍超过八成,表明游客愿意为高品质、个性化的“微度假”支付溢价。

# 品质化旅游消费数据
quality_tourism = {'产品类型': ['精品民宿', '温泉度假', '亲子旅游', '非遗体验', '乡村民宿'],'预订率': [95, 90, 85, 75, 90],'满意度': [92, 88, 90, 85, 87],'价格溢价': [35, 25, 20, 15, 30]
}df_quality = pd.DataFrame(quality_tourism)# 品质化旅游分析
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(15, 6))# 预订率和满意度
x = np.arange(len(df_quality['产品类型']))
bars1 = ax1.bar(x - 0.2, df_quality['预订率'], 0.4, label='预订率(%)', color='#2ECC71')
bars2 = ax1.bar(x + 0.2, df_quality['满意度'], 0.4, label='满意度(%)', color='#3498DB')
ax1.set_title('品质化旅游产品预订率与满意度', fontsize=14, pad=20)
ax1.set_xticks(x)
ax1.set_xticklabels(df_quality['产品类型'], rotation=45)
ax1.legend()# 添加数据标签
for bars in [bars1, bars2]:for bar in bars:height = bar.get_height()ax1.text(bar.get_x() + bar.get_width()/2., height + 2,f'{height}%', ha='center', va='bottom')# 价格溢价分析
bars3 = ax2.bar(df_quality['产品类型'], df_quality['价格溢价'], color=['#E74C3C', '#F39C12', '#F1C40F', '#2ECC71', '#3498DB'])
ax2.set_title('品质化旅游产品价格溢价', fontsize=14, pad=20)
ax2.set_ylabel('价格溢价(%)')
ax2.tick_params(axis='x', rotation=45)# 添加数据标签
for bar in bars3:height = bar.get_height()ax2.text(bar.get_x() + bar.get_width()/2., height + 1,f'+{height}%', ha='center', va='bottom')plt.tight_layout()
plt.show()

图16:品质化旅游产品
在这里插入图片描述

💎 总结

总体来看,2025年的国庆假期,国内旅游市场活力十足,江苏、广东等主要旅游大省实现了两位数的强劲增长。这清晰地表明,在经历了疫情的波折后,国内旅游市场已经进入了一个更加成熟和稳定的高质量发展新阶段
未来的旅游市场,将更加注重“文旅+”的深度融合和游客的品质化体验。

综合以上分析,2025年国庆假期呈现出以下核心特点:

  • 消费市场量质齐升:日均消费收入保持稳定增长,服务消费、绿色智能消费增速亮眼,反映出消费结构持续优化。
  • 出行方式深度变革:总量创下新高,自驾出行占据绝对主导地位,且新能源车占比显著提升,正在重塑交通能源结构。
  • 旅游市场强劲复苏:湖南、清远等省市接待游客量及旅游收入均实现大幅增长,文旅融合、特色活动成为拉动消费的重要引擎。
  • 休闲选择多元分化:尽管电影市场表现平淡,但线下商圈与文体旅融合的新业态、新场景展现出强大的聚客能力。

PS:数据来源于公开网络资料以及大致模拟,不保证准确性哦,仅用来可视化呈现哈~~~

–斑点鱼要成为伟大的数据分析师

http://www.dtcms.com/a/464901.html

相关文章:

  • InitLWIP() 初始化
  • Python爬虫实战:获取新浪旅游热门景点排行榜及数据分析
  • C++设计模式之行为型模式:中介者模式(Mediator)
  • 为什么苏州网络进不了网站ps设计网站
  • [C# starter-kit] Domain Entities | `AuditableEntity`基类 | 跟踪变化 | 软删除
  • 深度复盘+完整源码:我把 libuv 的高性能内存池,用现代 C++ 给你扒了个底朝天
  • GUI 自动化与接口自动化:概念、差异与协同落地
  • 网站建设公司是怎么找客户idc网站模板源码下载
  • kafka的数据消费通过flinksql 入数到Doris的报错(Connection timed out)
  • 【汽车篇】AI深度学习在汽车零部件外观检测——石墨电极板的应用
  • 花型图案设计网站做网站自己能做百度推广吗
  • Java求职面试实战:从Spring Boot到微服务架构的技术探讨
  • 网站做要钱提高美誉度的网络营销方式
  • 自己动手制作鲁大师AiNas手机无线数据线,Termux 安装kod桌面浏览器,打造私人NAS云盘,让电脑和手机零配置无线传输文件
  • 【开题答辩全过程】以 爱心捐赠物资管理系统为例,包含答辩的问题和答案
  • python进阶_Day3
  • 工控机如何联网
  • 温岭市住房和城乡建设局网站云阳如何做网站
  • 大模型应用比赛-表格知识挑战赛总结
  • 通过0x80软件中断执行系统调用
  • (数据库学习四)哈希处理
  • Hibernate中StatelessSession和‌普通Session对比
  • 浙江邮电工程建设有限公司网站企业门户网站建站
  • K8S1.28.2安装与部署
  • 业务知识:强制平仓
  • 币安最高多少杠杆 margin
  • wpf之GroupBox
  • 标签_图片(本文为个人学习笔记,内容整理自哔哩哔哩UP主【非学者勿扰】的公开课程。 > 所有知识点归属原作者,仅作非商业用途分享)
  • Jira:理解jira / 核心功能 / 应用场景 / 优势特点 / 常见的Jira术语
  • 专门找建筑案例的网站深圳展览展示公司排行