学号:022340608

🌱 Matplotlib子图布局可视化平台

深入学习Matplotlib的子图创建和布局技巧,通过实际练习掌握各种布局方法

练习1: plt.subplot()基础 - 2x1布局

知识点:plt.subplot()

使用plt.subplot()在一个2x1的布局(2行1列)中,分别绘制条形图和折线图来展示智能手表和蓝牙耳机的季度销量。

数据说明:
智能手表销量:[120, 150, 130, 180] 万台
蓝牙耳机销量:[200, 180, 220, 250] 万台
时间范围:第一季度到第四季度
正在加载图表...
正在加载图表...
关键实现:
plt.subplot(211) # 2行1列的第1个子图 plt.bar(quarters, watch_sales) plt.title('智能手表季度销量') plt.subplot(212) # 2行1列的第2个子图 plt.plot(quarters, headset_sales, 'g-s') plt.title('蓝牙耳机季度销量')

练习2: plt.subplots()与坐标轴共享 - 1x2布局

知识点:plt.subplots()和sharey=True

使用plt.subplots()创建一个1x2的布局(1行2列),让两个子图共享Y轴,便于比较不同社交平台的用户性别比例。

数据说明:
平台:微博、B站、抖音、小红书、知乎
男性用户:[55, 45, 50, 30, 60] 百万
女性用户:[45, 55, 50, 70, 40] 百万
正在加载图表...
正在加载图表...
关键实现:
fig, (ax1, ax2) = plt.subplots(1, 2, sharey=True) ax1.barh(platforms, male_users) ax2.barh(platforms, female_users)

练习3: plt.subplot2grid()非对称布局 - 2x2网格

知识点:plt.subplot2grid(),使用rowspan和colspan

使用plt.subplot2grid()创建一个2x2的非对称网格布局,展示网站流量来源分析和月度访问量趋势。

数据说明:
流量来源:直接访问20%、搜索引擎40%、社交媒体30%、推荐链接10%
2024年变化:直接访问15%、搜索引擎35%、社交媒体40%、推荐链接10%
月度访问量:1.5→1.8→2.2→2.0→2.5→2.8 百万(1-6月)
正在加载图表...
正在加载图表...
正在加载图表...
关键实现:
ax1 = plt.subplot2grid((2,2), (0,0)) # 左上 ax2 = plt.subplot2grid((2,2), (1,0)) # 左下 ax3 = plt.subplot2grid((2,2), (0,1), rowspan=2) # 右侧跨2行

练习4: ax.twinx()双坐标轴 - 股价与成交量

知识点:ax.twinx()

在同一个图表中使用两个Y轴(左侧和右侧)来展示不同尺度的数据,分析股票价格与成交量的关系。

数据说明:
股价走势:100→105→115→110→120→135 元
成交量:1.2→1.5→2.0→1.8→2.5→3.0 百万股
时间范围:1-6月
正在加载图表...
关键实现:
ax1 = plt.subplots() ax1.bar(months, volume, color='tab:blue') ax2 = ax1.twinx() ax2.plot(months, price, 'r-o') ax1.set_ylabel('成交量 (百万股)', color='tab:blue') ax2.set_ylabel('股价 (元)', color='tab:red')

练习5: GridSpec 自定义布局 - 大学招生分析

知识点:matplotlib.gridspec.GridSpec和constrained_layout=True

使用GridSpec创建灵活的2x2布局,展示大学年度招生总体趋势和分学院招生情况。

数据说明:
总招生:2021年20000→2024年24000人
学院分布:工学院8000、文学院5000、商学院6000、理学院4000人
数据年份:2021-2024年
正在加载图表...
正在加载图表...
正在加载图表...
关键实现:
fig = plt.figure(constrained_layout=True) gs = fig.add_gridspec(2, 2) ax1 = fig.add_subplot(gs[0, :]) # 跨2列 ax2 = fig.add_subplot(gs[1, 0]) # 左下 ax3 = fig.add_subplot(gs[1, 1]) # 右下

🎓 可视化平台制作完成 | 学号:022340608 | 2025年