首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >第五章:Python数据可视化利器-Matplotlib用法详解

第五章:Python数据可视化利器-Matplotlib用法详解

作者头像
啊阿狸不会拉杆
发布2026-01-21 10:05:57
发布2026-01-21 10:05:57
1880
举报

  Matplotlib是Python最强大的数据可视化库,广泛应用于科研、商业分析等领域。本文聚焦基础图表绘制高级定制技巧,助你快速掌握数据图形化表达。文末提供《Python数据可视化实战源码包》可直接运行修改。

一、快速入门:5种基础图表
1. 折线图(趋势分析)

python

代码语言:javascript
复制
import matplotlib.pyplot as plt  
x = [1, 2, 3, 4, 5]  
y = [2, 4, 1, 6, 3]  
plt.plot(x, y, linestyle='--', color='blue', marker='o')  
plt.title("月度销售额趋势")  
plt.xlabel("月份")  
plt.ylabel("销售额(万元)")  
plt.show()  

关键参数linestyle(线型)、marker(标记点样式)、linewidth(线宽)。

2. 柱状图(对比分析)

python

代码语言:javascript
复制
categories = ['A', 'B', 'C']  
values = [23, 45, 37]  
plt.bar(categories, values, color=['#FF6B6B', '#4ECDC4', '#45B7D1'])  
plt.grid(axis='y', alpha=0.5)  # 添加横向网格线  
3. 散点图(相关性分析)

python

代码语言:javascript
复制
​import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 6, 3]
plt.scatter(x, y, s=50, c=y, cmap='viridis')  # s控制点大小,c用颜色映射数值
plt.colorbar(label='数值强度')
plt.show() 

​
4. 饼图(占比分析)

python

代码语言:javascript
复制
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
labels = ['电商', '门店', '批发']
sizes = [55, 30, 15]
plt.pie(sizes, labels=labels, autopct='%1.1f%%', explode=(0.1, 0, 0))
plt.show()
5. 子图布局(多图组合)

python

代码语言:javascript
复制
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
ax1=plt.subplot(211)
ax2=plt.subplot(212)
x = [1, 2, 3, 4, 5]
y = [2, 4, 1, 6, 3]
categories = ['A', 'B', 'C']
values = [23, 45, 37]
ax1.plot(x, y)
ax2.bar(categories, values)
plt.tight_layout()  # 自动调整间距
plt.show()
代码语言:javascript
复制

二、进阶技巧:让图表更专业
  1. 样式美化
    • 使用plt.style.use('ggplot')调用预置主题(如seaborndark_background
    • 自定义字体:plt.rcParams['font.sans-serif'] = ['SimHei'](解决中文乱码)
  2. 动态可视化

python

代码语言:javascript
复制
from matplotlib.animation import FuncAnimation  
fig, ax = plt.subplots()  
line, = ax.plot([], [])  

def update(frame):  
    line.set_data(x[:frame], y[:frame])  
    return line,  

ani = FuncAnimation(fig, update, frames=len(x), interval=200)  
plt.show()  
  1. 3D绘图

python

代码语言:javascript
复制
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
x=[3,2,4,5,2,1,5]
y=[5,3,1,2,5,6,7]
z=[9,3,2,4,5,3,5]
ax.scatter(x, y, z, c='r', marker='o')
plt.show()

三、实战案例解析

在《Python数据可视化实战源码包》中,包含以下经典场景:

  1. 销售数据仪表盘:组合折线图、柱状图与饼图,使用subplots布局
  2. 人口金字塔图:通过双柱状图反向对称呈现年龄分布
  3. 热力图绘制:用imshow()展示矩阵数据关联性(适合用户行为分析)
  4. 动态排序图:结合FuncAnimation实现条形图竞赛效果

示例代码片段(热力图)

python

代码语言:javascript
复制
import numpy as np  
data = np.random.rand(10, 10)  
plt.imshow(data, cmap='coolwarm')  
plt.colorbar()  
plt.xticks(range(10), ['A','B','C','D','E','F','G','H','I','J'])  
plt.yticks(range(10), ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月'])  

四、学习建议
  1. 从模仿开始:运行附件源码,逐步修改参数(颜色、尺寸等)观察变化
  2. 善用文档:通过plt.plot?查看函数详细参数说明
  3. 数据驱动:优先用Pandas导入数据(如df.plot()快速绘图)
  4. 导出图表:使用plt.savefig('chart.png', dpi=300)保存高清图片

:下载《Python数据可视化实战源码包》,包含10+行业案例代码及数据集,注释率100%,适合二次开发!

掌握Matplotlib,让数据开口说话——你的分析报告将从此与众不同!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-01-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、快速入门:5种基础图表
    • 1. 折线图(趋势分析)
    • 2. 柱状图(对比分析)
    • 3. 散点图(相关性分析)
    • 4. 饼图(占比分析)
    • 5. 子图布局(多图组合)
  • 二、进阶技巧:让图表更专业
  • 三、实战案例解析
  • 四、学习建议
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档