您的位置:首页 > 教育 > 培训 > 有不收费的网站_上海中风险地区清零_兰州网络推广与营销_本地推广最好用的平台

有不收费的网站_上海中风险地区清零_兰州网络推广与营销_本地推广最好用的平台

2025/7/8 4:16:16 来源:https://blog.csdn.net/haoshenwan/article/details/146394650  浏览:    关键词:有不收费的网站_上海中风险地区清零_兰州网络推广与营销_本地推广最好用的平台
有不收费的网站_上海中风险地区清零_兰州网络推广与营销_本地推广最好用的平台

Python数据可视化实战:从基础图表到高级分析

数据可视化是数据分析的重要环节,通过直观的图表可以快速洞察数据规律。本文将通过5个实际案例,手把手教你使用Python的Matplotlib库完成各类数据可视化任务,涵盖条形图、堆积面积图、饼图、直方图等常见图表类型,并包含误差分析、颜色映射等高级技巧。


案例1:商品网购替代率分析

数据背景

分析不同商品种类的网购替代率(线上消费对线下的替代比例),数据来源:国家统计局北京调查总队抽样调查。

实现代码

# 01_online_substitution_rate.py
import matplotlib.pyplot as plt
import numpy as np# 中文显示设置
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False# 数据准备
categories = ["家政服务", "交通票务", "家具", "手机配件", "计算机产品", "汽车用品", "充值服务", "个护用品","书报音像", "餐饮旅游", "家用电器", "食品饮料","日用品", "保险票务", "服装家纺", "数码产品","其他商品", "工艺品"]
substitution_rates = [0.959, 0.951, 0.935, 0.924, 0.893,0.892, 0.865, 0.863, 0.860, 0.856,0.854, 0.835, 0.826, 0.816, 0.798,0.765, 0.763, 0.671]# 可视化
plt.figure(figsize=(10, 8))
bars = plt.barh(categories, substitution_rates, color=plt.cm.viridis(np.linspace(0,1,len(categories))),height=0.7)# 添加数据标签
for bar in bars:width = bar.get_width()plt.text(width+0.01, bar.get_y()+0.3,f'{width*100:.1f}%',va='center')plt.title("各商品品类网购替代率分析", pad=20)
plt.xlabel("替代率")
plt.xlim(0.6, 1.0)
plt.grid(axis='x', alpha=0.3)
plt.tight_layout()![请添加图片描述](https://i-blog.csdnimg.cn/direct/b58d60ae0fcb4e5da2802684ccfdfca5.png)plt.show()

可视化解读

在这里插入图片描述

  • 使用水平条形图清晰展示长文本标签
  • 渐变色映射替代率高低(深色表示高替代率)
  • 右侧数据标签辅助精确读数

案例2:物流公司费用对比

数据背景

比较A/B/C三家物流公司全年费用分布,数据来源:企业年度财报。

实现代码

# 02_logistics_cost.py
months = np.arange(1,13)
cost_a = [198,215,245,222,200,236,201,253,236,200,266,290]
cost_b = [203,236,200,236,269,216,298,333,301,349,360,368]
cost_c = [185,205,226,199,238,200,250,209,246,219,253,288]plt.figure(figsize=(12,6))
plt.stackplot(months, cost_a, cost_b, cost_c,colors=['#1f77b4','#ff7f0e','#2ca02c'],alpha=0.8,labels=['A公司','B公司','C公司'])# 添加趋势线
total = np.array(cost_a) + np.array(cost_b) + np.array(cost_c)
plt.plot(months, total, color='#d62728', marker='o', linestyle=':', label='总费用')plt.title("物流公司月度费用对比", pad=20)
plt.xlabel("月份")
plt.ylabel("费用(万元)")
plt.xticks(months)
plt.legend(loc='upper left')
plt.grid(axis='y', linestyle='--')
plt.show()

可视化解读

在这里插入图片描述

  • 堆积面积图展示费用构成
  • 红色趋势线反映总费用变化
  • 半透明效果增强层次感

案例3:支付宝消费分析

数据背景

解析用户月度消费结构,数据来源:支付宝账单导出。

实现代码

# 03_alipay_bills.py
labels = ['购物','人情','餐饮','通信','日用','交通','娱乐','其他']
sizes = [800,100,1000,200,300,200,200,200]
colors = ['#4B9CD3','#FF6F61','#2E5339','#9467bd','#8c564b','#e377c2','#7f7f7f','#bcbd22']plt.figure(figsize=(10,8))
wedges, texts, autotexts = plt.pie(sizes, labels=labels,colors=colors,autopct='%1.1f%%',startangle=90,wedgeprops={'width':0.4})  # 环形图# 添加中心注释
plt.text(0, 0, "总支出\n3000元", ha='center', va='center',fontsize=14)plt.title("支付宝月度消费结构", pad=20)
plt.axis('equal')  # 正圆形
plt.show()

可视化解读

在这里插入图片描述

  • 环形饼图增强现代感
  • 中心区域突出总金额
  • 协调配色提升可读性

案例4:正态分布可视化

数据背景

展示随机数的分布规律,验证中心极限定理。

实现代码

# 04_normal_distribution.py
data = np.random.normal(loc=0, scale=1, size=1000)plt.figure(figsize=(10,6))
plt.hist(data, bins=20, density=True, alpha=0.6, color='#1f77b4')# 添加理论曲线
x = np.linspace(-4,4,100)
plt.plot(x, 1/(1*np.sqrt(2*np.pi)) * np.exp(-0.5*(x/1)**2),linewidth=2, color='#d62728')plt.title("正态分布验证", pad=20)
plt.xlabel("数值")
plt.ylabel("概率密度")
plt.grid(alpha=0.3)
plt.show()

可视化解读

在这里插入图片描述

  • 直方图展示实际分布
  • 红色曲线表示理论分布
  • 半透明处理避免视觉压迫

案例5:班级身高分析

数据背景

模拟生成班级身高数据,分析分布特征。

实现代码

# 05_class_height.py
heights = np.random.normal(loc=170, scale=5, size=40)plt.figure(figsize=(10,6))
n, bins, patches = plt.hist(heights, bins=6, color='#4B9CD3',edgecolor='white')# 添加统计信息
plt.axvline(heights.mean(), color='red', linestyle='--')
plt.text(0.7, 0.8, f'μ={heights.mean():.1f}cm\nσ={heights.std():.1f}cm',transform=plt.gca().transAxes)plt.title("班级身高分布", pad=20)
plt.xlabel("身高(cm)")
plt.ylabel("人数")
plt.show()

可视化解读

在这里插入图片描述

  • 蓝色柱形展示各区间人数
  • 红色虚线标注平均身高
  • 右上角显示统计参数

总结

本文通过5个典型案例演示了:

  • 条形图:对比类数据展示
  • 堆积图:构成分析
  • 饼图:比例呈现
  • 直方图:分布规律
  • 综合应用:数据模拟+统计分析

完整代码已托管至GitHub仓库,建议读者克隆代码库后结合实际数据修改参数练习。掌握这些可视化方法后,你可以:

  1. 制作专业的分析报告
  2. 优化数据呈现方式
  3. 快速发现数据异常
  4. 提升数据分析效率

扩展建议

  • 尝试使用Seaborn库简化复杂图表
  • 学习Plotly制作交互式可视化
  • 探索D3.js实现高级动态效果

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com