python可视化:端午假期旅游火爆原因分析
2025年的旅游市场表现强劲:
- 2025年端午假期全社会跨区域人员流动量累计6.57亿人次,日均2.19亿人次,同比增长3.0%。
- 入境游订单同比大涨近90%,门票交易额(GMV)增长1.5倍。
- 国内周边游占比64%,短途游主导市场。
2025年端午旅游热点地
国内热门城市
- 周边游Top10:杭州、南京、上海、苏州、广州、北京、天津、济南、成都、湖州。
import matplotlib.pyplot as plt
import seaborn as sns
# 数据准备
cities = ['杭州', '南京', '上海', '苏州', '广州', '北京', '天津', '济南', '成都', '湖州']
rank = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] # 排名仅作顺序参考,实际数据为热度排名
# 设置样式
plt.style.use('seaborn')
plt.figure(figsize=(12, 6))
# 创建条形图(横向)
ax = sns.barplot(x=rank, y=cities, palette="viridis", orient='h')
# 添加标题和标签
plt.title('2025年端午假期国内周边游Top10目的地', fontsize=16, pad=20)
plt.xlabel('热门指数(排名)', fontsize=12)
plt.ylabel('城市', fontsize=12)
# 在条形上显示排名
for i, v in enumerate(rank):
ax.text(v + 0.1, i, str(v), color='black', va='center', fontweight='bold')
# 调整布局
plt.tight_layout()
plt.grid(axis='x', linestyle='--', alpha=0.7)
# 显示图表
plt.show()
图1:
民俗文化热门地:
- 广东佛山:龙舟漂移IP带动旅游订单增长167%。
- 湖南汨罗(屈原故里)、浙江嘉兴(粽子之乡)预订量增长超40%。
- 济南跻身全国周边游第八,趵突泉、明水古城等景区受青睐。
- 武汉入境游同比增长45%,黄鹤楼、晴川阁等景点吸引外国游客。
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
# 数据准备
cities = ['佛山', '汨罗', '嘉兴', '济南', '武汉']
growth_rate = [167, 42, 45, 25, 45] # 增长率(%)
reasons = [
"龙舟漂移IP爆火",
"屈原故里端午民俗",
"粽子之乡文化体验",
"泉水+明水古城引流",
"黄鹤楼入境游增长"
]
# 设置样式
plt.style.use('ggplot')
plt.figure(figsize=(10, 6), dpi=100)
# 创建条形图
ax = sns.barplot(x=growth_rate, y=cities, palette="rocket")
# 添加数据标注和原因说明
for i, (rate, reason) in enumerate(zip(growth_rate, reasons)):
ax.text(rate + 3, i, f"{rate}%", va='center', fontsize=10)
ax.text(5, i-0.3, reason, color='darkred', fontsize=9,
bbox=dict(facecolor='peachpuff', alpha=0.5))
# 装饰图表
plt.title("2025端午民俗文化热门地TOP5及增长原因", fontsize=14, pad=15)
plt.xlabel("旅游订单同比增长率(%)", fontsize=11)
plt.ylabel("城市", fontsize=11)
plt.xlim(0, 180)
# 添加图例说明
plt.text(120, 4.5, "数据来源:携程《2025端午文旅报告》",
fontsize=8, alpha=0.7)
# 显示图表
plt.tight_layout()
plt.show()
图2:
出境游热门地
- 短途(3小时飞行圈):日本、韩国、中国香港、泰国、马来西亚。
- 新兴黑马:乌兹别克斯坦、哈萨克斯坦、冰岛。
旅游火爆背后的原因
- 民俗驱动:龙舟赛事(全国122场)带动佛山、汨罗等城市热度。
- 短途游主导:64%游客选择周边游,杭州、上海等成热门。
- 入境增长:订单同比涨90%,上海、北京、成都最受欢迎。
文化驱动
- 龙舟经济:全国龙舟赛事达122场,佛山“漂移龙舟”、汨罗祭屈仪式等成现象级IP。
- 非遗体验:乌镇“水上五黄宴”、宏村微缩龙舟赛等让传统民俗现代化。
- 国潮兴起:故宫文创“千里江山粽”、敦煌“飞天粽”受年轻人追捧。
import pandas as pd
# 示例数据:2025年端午各省份旅游人次(单位:万人次)
province_data = {
"省份": ["广东", "湖南", "浙江", "江苏", "山东", "四川"],
"旅游人次": [2321.0, 1200.0, 1500.0, 1350.0, 1100.0, 980.0], # 广东数据来自:cite[4]
"同比增长率": [20.6, 18.3, 15.2, 12.7, 10.5, 8.9] # 假设值
}
# 热门城市及龙舟搜索热度(同程数据:cite[2]:cite[6])
city_data = {
"城市": ["佛山", "汨罗", "嘉兴", "杭州", "成都", "苏州"],
"龙舟搜索增幅": [270, 270, 200, 180, 160, 150], # 百分比
"预订量增长": [167, 40, 40, 35, 30, 25] # 百分比
}
df_province = pd.DataFrame(province_data)
df_city = pd.DataFrame(city_data)
输出:df1、df2
各省份旅游人次热力图
from pyecharts import options as opts
from pyecharts.charts import Map
# 数据准备(省份需用简称,与PyEcharts内置地图匹配)
data = [
("广东省", 2321),
("湖南省", 1200),
("浙江省", 1500),
("江苏省", 1350),
("山东省", 1100),
("四川省", 980),
]
# 创建地图
c = (
Map()
.add(
series_name="旅游人次(万)",
data_pair=data,
maptype="china",
is_map_symbol_show=False,
)
.set_global_opts(
title_opts=opts.TitleOpts(title="2025年端午各省旅游人次"),
visualmap_opts=opts.VisualMapOpts(
min_=800,
max_=2500,
range_text=["高", "低"],
is_piecewise=True,
pos_top="middle",
),
)
.render("province_tourism_map.html")
)
图3:
热门城市龙舟活动热度条形图
import matplotlib.pyplot as plt
plt.figure(figsize=(10, 6))
plt.bar(df_city["城市"], df_city["龙舟搜索增幅"], color='#FF6B6B', label='龙舟搜索增幅(%)')
plt.bar(df_city["城市"], df_city["预订量增长"], color='#4ECDC4', alpha=0.7, label='预订量增长(%)')
plt.title("2025端午龙舟文化热门城市数据对比", fontsize=14)
plt.xlabel("城市")
plt.ylabel("百分比(%)")
plt.legend()
plt.grid(axis='y', linestyle='--')
plt.show()
图4:
分析:佛山因“龙舟漂移”IP搜索增幅达270%,预订量增长167%。
政策与消费趋势
- 免签政策:入境游增长89%,上海、北京、成都等成外国游客首选。
- 亲子+宠物经济:亲子订单占比35%,宠物友好酒店热度增20%。
- “演出+旅游”:邓紫棋贵州演唱会、佛山龙舟赛带动跨城观演。
入境游订单增长趋势
# 入境游数据(携程:cite[1]:cite[9])
countries = ["马来西亚", "韩国", "新加坡", "泰国", "美国"]
orders = [452, 380, 290, 250, 200] # 假设订单增长比例
plt.pie(orders, labels=countries, autopct="%1.1f%%",
colors=["#FFD166", "#06D6A0", "#118AB2", "#EF476F", "#073B4C"])
plt.title("2025端午入境游主要客源国订单占比")
plt.show()
图5:
- 用
wordcloud
生成关键词云(如“龙舟”“亲子游”“免签”等)。
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 示例关键词及权重(根据搜索热度或频次自定义)
keywords = {
"龙舟": 35, "亲子游": 30, "免签": 25, "短途游": 20,
"佛山": 18, "汨罗": 15, "嘉兴": 15, "民俗": 15,
"粽子": 12, "演唱会": 10, "高铁": 10, "国潮": 10
}
# 生成词云
wc = WordCloud(
font_path="simhei.ttf", # 指定中文字体(Windows可用)
background_color="white",
width=800,
height=600,
max_words=50
).generate_from_frequencies(keywords)
# 显示
plt.figure(figsize=(10, 8))
plt.imshow(wc, interpolation="bilinear")
plt.axis("off")
plt.title("2025端午旅游热点关键词云", fontsize=16, pad=20)
plt.show()
图6:
人员流动地图(箭头图)
- 主要客源地→目的地(如北京→济南、上海→杭州、广州→佛山等)。
- 出境游热门航线(上海→大阪、北京→东京等)。
import plotly.graph_objects as go
# 示例流动数据(需补充真实坐标)
flow_data = pd.DataFrame({
"出发地": ["北京", "上海", "广州"],
"目的地": ["济南", "杭州", "佛山"],
"流量": [50000, 40000, 30000],
"出发地_lat": [39.9, 31.2, 23.1],
"出发地_lon": [116.4, 121.5, 113.3],
"目的地_lat": [36.7, 30.3, 23.0],
"目的地_lon": [117.0, 120.2, 113.1]
})
fig = go.Figure()
for i in range(len(flow_data)):
fig.add_trace(go.Scattergeo(
lon=[flow_data["出发地_lon"][i], lat=[flow_data["出发地_lat"][i]],
mode="markers",
marker=dict(size=10, color="red"),
name=flow_data["出发地"][i]
))
fig.add_trace(go.Scattergeo(
lon=[flow_data["目的地_lon"][i]], lat=[flow_data["目的地_lat"][i]],
mode="markers",
marker=dict(size=10, color="blue"),
name=flow_data["目的地"][i]
))
fig.add_trace(go.Scattergeo(
lon=[flow_data["出发地_lon"][i], flow_data["目的地_lon"][i]],
lat=[flow_data["出发地_lat"][i], flow_data["目的地_lat"][i]],
mode="lines",
line=dict(width=2, color="green"),
opacity=0.7,
name=f"{flow_data['出发地'][i]}→{flow_data['目的地'][i]}"
))
fig.update_geos(scope="asia", projection_type="natural earth")
fig.update_layout(title="2025端午主要旅游流向示意图")
fig.show()
图7:
5. 总结
2025年端午旅游市场呈现 “民俗+短途+亲子” 三大特点,文化IP(如龙舟、粽子)和便利政策(免签、高铁)是核心驱动力。