Python全栈开发-第2章 Matplotlib/Plotly高级图表
📅 2026/7/15 12:00:45
👁️ 次浏览
第一篇 · 数据分析与可视化📈 第2章 Matplotlib/Plotly高级图表让数据开口说话—从静态图到交互式可视化2.1 Matplotlib基础绘图Python可视化的基石,所有图表库的“祖师爷”如果说Pandas帮你理解了数据,那Matplotlib就帮你讲述了数据的故事。一张好的图表,胜过千言万语。Matplotlib是Python可视化的基石—几乎所有其他图表库都在它基础上构建。核心结构是Figure(画布)和Axes(子图)。把Figure想象成白纸,Axes就是纸上的一个个绘图框。importmatplotlib.pyplotaspltimportnumpyasnp plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=False# 折线图months=['1月','2月','3月','4月','5月','6月']revenue=[120,135,148,162,155,178]fig,ax=plt.subplots(figsize=(10,5))ax.plot(months,revenue,'b-o',linewidth=2,markersize=8)ax.set_title('2024年上半年营收趋势',fontsize=16,fontweight='bold')ax.set_xlabel('月份');ax.set_ylabel('营收(万元)')ax.grid(True,alpha=0.3)plt.tight_layout()plt.savefig('line_chart.png',dpi=150)plt.show()print('折线图已保存')importmatplotlib.pyplotasplt plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=False# 柱状图products=['手机','笔记本','平板','耳机','手表']sales=[580,320,210,450,180]colors=['#FF6B6B','#4ECDC4','#45B7D1','#96CEB4','#FFEAA7']fig,ax=plt.subplots(figsize=(10,5))bars=ax.bar(products,sales,color=colors,edgecolor='white',linewidth=1.5)forbar,valinzip(bars,sales):ax.text(bar.get_x()+bar.get_width()/2,bar.get_height()+10,f'{val}',ha='center',va='bottom',fontsize=12,fontweight='bold')ax.set_title('各品类销量对比',fontsize=16,fontweight='bold')ax.set_ylabel('销量(件)')ax.spines['top'].set_visible(False);ax.spines['right'].set_visible(False)plt.tight_layout();plt.savefig('bar_chart.png',dpi=150);plt.show()importmatplotlib.pyplotaspltimportnumpyasnp plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=Falsenp.random.seed(42)ad=np.random.uniform(5,50,50)sales=ad*3.5+np.random.normal(0,20,50)fig,axes=plt.subplots(1,2,figsize=(14,5))axes[0].scatter(ad,sales,c='#3498db',alpha=0.7,s=60,edgecolors='white')axes[0].set_title('广告投入 vs 销售额',fontsize=14)axes[0].set_xlabel('广告投入(万元)');axes[0].set_ylabel('销售额(万元)')axes[0].grid(True,alpha=0.3)axes[1].pie([35,28,20,17],labels=['手机','笔记本','平板','配件'],autopct='%1.1f%%',colors=['#FF6B6B','#4ECDC4','#45B7D1','#96CEB4'],explode=(0.05,)*4,shadow=True,startangle=90)axes[1].set_title('各品类销售占比',fontsize=14)plt.tight_layout();plt.savefig('scatter_pie.png',dpi=150);plt.show()💡 技巧plt.subplots()是最佳实践:相比plt.plot(),用fig, ax = plt.subplots()更灵活,可以精确控制每个子图。建议从一开始就养成这个习惯。🔑 核心要点核心知识点:fig, ax = plt.subplots():创建画布和子图ax.plot()折线图、ax.bar()柱状图、ax.scatter()散点图ax.set_title()/set_xlabel()/set_ylabel():标题和标签plt.tight_layout():自动调整布局plt.savefig():保存图片🧪 随堂测验在Matplotlib中,Figure和Axes的关系是什么?A. Figure是数据,Axes是图表B. Figure是画布(整个图形),Axes是画布上的子图区域C. 同一个东西的不同叫法D. Axes是画布,Figure是子图答案解析:Figure是整个图形窗口(画布),可包含一个或多个Axes(子图)。一个Figure就像白纸,每个Axes是纸上的一个绘图区域。2.2 图表美化与注释从“能用”到“好看”—让图表专业起来默认样式的Matplotlib图表看起来有些“朴素”。在汇报时,你需要让图表既美观又易读。Matplotlib提供了丰富的自定义选项,从颜色到字体、从标注到布局,一切尽在掌控。importmatplotlib.pyplotaspltimportnumpyasnp plt.rcParams['font.sans-serif']=['SimHei']plt.rcParams['axes.unicode_minus']=Falseplt.style.use('seaborn-v0_8-whitegrid')months=['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']a=[120,135,150,142,168,195,210,198,225
深入探索大气层系统:Nintendo Switch自制系统实战指南 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable
大气层系统(Atmosphere)作为Nintendo Switch最稳定…
📅 2026/7/15 12:00:45
3分钟掌握SD-PPP:Photoshop AI插件完全指南 【免费下载链接】sd-ppp A Photoshop AI plugin 项目地址: https://gitcode.com/gh_mirrors/sd/sd-ppp
还在为Photoshop与AI绘图工具间的频繁切换而困扰吗?SD-PPP作为一款开源免费的Photoshop AI插件&a…
📅 2026/7/15 12:00:45
1. 项目概述:当AI Agent成为业务新常态,数据安全防线必须前置最近和几个在不同行业做技术负责人的朋友聊天,发现大家不约而同地都在捣鼓同一个东西:AI Agent。无论是金融公司想用它做智能风控报告,还是制造企业想用它分…
📅 2026/7/15 12:00:45
1. 项目背景与核心价值在智能照明系统的设计中,电源管理模块一直是影响整体性能的关键因素。传统方案往往面临效率低下、体积庞大或成本高昂等问题。这个演示项目展示的离线反激式双降压稳压器,正是针对这些痛点提出的创新解决方案。我曾在多个智能照明项…
📅 2026/7/15 12:44:12
Umi-OCR离线文字识别软件终极指南:开源OCR解决方案深度解析 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多…
📅 2026/7/15 12:44:12
鸣潮智能辅助工具:解放双手,畅享游戏乐趣 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves
还在为《鸣潮》中…
📅 2026/7/15 12:44:12
1. 多路复用数据采集系统的核心需求解析在工业自动化、医疗设备和环境监测等领域,多路复用数据采集系统承担着同时监测多个信号源的关键任务。这类系统的核心挑战在于如何高效、精确地处理来自不同传感器的模拟信号。我曾参与过一套16通道热电偶温度监测系统的设计&…
📅 2026/7/15 12:44:12
ExifToolGUI完整指南:免费照片元数据批量管理的终极解决方案 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui
还在为照片信息混乱而烦恼吗?每次旅行回来,面对数百张拍摄时…
📅 2026/7/15 12:44:12
1. 环境准备与Docker部署Kafka 在开始SpringBoot集成Kafka之前,我们需要先搭建Kafka运行环境。Docker是目前最便捷的部署方式,只需几条命令就能完成全套服务部署。我推荐使用Bitnami提供的官方镜像,稳定性经过大量项目验证。
1.1 创建Docke…
📅 2026/7/15 12:43:11
1. COM线程模型基础与CoInitializeEx核心作用在Windows平台开发中,组件对象模型(COM)的线程处理机制一直是开发者必须掌握的底层知识。作为COM初始化的门户函数,CoInitializeEx不仅决定了对象在何种线程环境下运行,更影响着整个组件的并发性能…
📅 2026/7/15 0:00:17
1. 为什么M芯片Mac用户需要降级到Monterey? 去年刚拿到M2芯片的MacBook Pro时,我第一时间升级到了Ventura系统。结果第三天就遇到了微信闪退、Final Cut Pro渲染卡顿的问题。后来在开发者论坛发现,不少专业软件对Ventura的适配都存在问题。这…
📅 2026/7/15 0:00:17
1. 背景与核心概念在AI大模型快速发展的今天,许多开发者和研究者都面临一个现实问题:如何在有限的硬件预算下实现高效的本地大模型部署。特别是对于个人开发者和小型团队来说,购买最新的高端显卡成本高昂,而利用现有的或二手硬件资…
📅 2026/7/15 0:00:17
豆包openclaw最近圈子里都在聊豆包openclaw,我也没忍住,掏腰包入手了一套。说实话,刚拿到手的时候,心里是打鼓的。毕竟市面上类似的智能硬件太多了,有的吹得天花乱坠,用起来却是一堆bug。为了不让大家的钱打水漂,我连续用了半个月。从开箱到日常高频使用,甚至故意测试它…
📅 2026/7/14 6:35:02
SQLyog 13.3.1 社区版在Windows 10/11上的完整安装与连接指南 对于刚接触MySQL数据库管理的开发者和学生来说,选择一个直观易用的图形化管理工具至关重要。SQLyog作为一款轻量级但功能强大的MySQL GUI工具,能够显著提升数据库操作的效率和体验。本文将详…
📅 2026/7/14 12:06:52
SPEC CPU 2006 跨平台基准测试深度实战:ARM/X86/MIPS 架构配置优化与结果分析方法论在当今多元化的计算架构时代,如何客观评估不同处理器平台的真实性能成为系统工程师和性能优化专家的核心挑战。SPEC CPU 2006 作为业界公认的计算密集型基准测试套件&am…
📅 2026/7/14 7:15:18
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/14 15:11:56
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/15 2:24:18
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/14 15:11:56