简介

个人简介

  • 姓名:张大鹏
  • 性别:男
  • 生日:1993年8月29日
  • 经验:工作经验8年,IT技术培训经验3年
  • 爱好:学习
  • 座右铭:不积跬步无以至千里,不积小流无以成江海。
  • 优点:自律,稳重,热爱学习
  • 缺点:胖胖的

课程简介

  • 教大家怎么简单的使用python做数据分析并可视化

matplotlib简介

  • python数据分析必学的基础库
  • 能够轻松的绘制折线图,柱状图,散点图,饼图等常见可视化图表
  • 使用简单,numpy,pandas,matplotlib是python数据分析中最常见的工具组合
  • 一般用于将python数据进行可视化
  • 安装:pip install matplotlib

教学目标

  • 了解matplotlib是什么(基础)
  • 了解matplotlib的使用场景(基础)
  • 了解图表的常见组成(入门)
  • 了解matplotlib如何制作图表并展示(入门)
  • 了解怎么使用matplotlib展示各种辅助信息并解决中文乱码问题(入门)
  • 了解使用matplotlib最重要的步骤(重要)
  • 了解使用matplotlib的一般完整步骤(重要)
  • 了解怎么在一张图表中绘制多个图形(进阶)

环境准备

安装虚拟环境管理依赖

pip install virtualenv
# 备用
pip install virtualenv -i http://pypi.douban.com/simple/
pip install virtualenv -i https://pypi.tuna.tsinghua.edu.cn/simple

创建虚拟环境:这里叫ai,是人工智能的意思,里面包含了一些常用的人工智能基础库,mataplotlib是基础库之一

virtualenv ai

激活虚拟环境

.\ai\Scripts\activate

安装matplotlib

pip install matplotlib

创建工作空间(文件夹)

mkdir matplotlib

使用vscode打开文件夹,即可开始编写代码

图表的常见组成部分

  • 标题
  • x轴标签
  • y轴标签
  • x轴刻度
  • y轴刻度
  • 图例
  • 网格

绘制图表最重要的步骤

最重要的步骤

  • 导入依赖
  • 准备数据(后期一般是通过数据分析技术处理后的数据)
  • 创建画布
  • 绘图
  • 展示

示例:北京气温折线图

# 导入依赖
import matplotlib.pyplot as plt
from random import randint# 准备数据(后期一般是通过数据分析技术处理后的数据)
# 这里模拟北京11点到12点一小时内的气温,假设是随机从15-18摄氏度变化
y = [randint(15,18) for _ in range(60)]
x = range(60)# 创建画布
# figsize 控制画布的大小
# dpi 控制画布的像素,也能够有控制画布大小的效果
plt.figure(figsize=(10, 6), dpi=100)# 绘图
plt.plot(x, y)# 展示
plt.show()

代码分析

import matplotlib.pyplot as plt
from random import randint
  • 导入依赖
  • plt是matplotlib用来绘制图像的一个对象
  • randint是用来生成随机数的一个对象
y = [randint(15,18) for _ in range(60)]
x = range(60)
  • 生成数据
  • y是60个15-18之间的随机数,这里采用列表生成式快速生成
  • x是从0-59的整数
plt.figure(figsize=(10, 6), dpi=100)
  • 创建画布
  • figsize=(10, 6):指定figure的宽和高,单位为英寸
  • dpi=100:指定绘图对象的分辨率,即每英寸多少个像素,缺省值为80
plt.plot(x, y)
  • 绘制折线图
  • 这里分别传入x轴的标签数据和y轴的数值数据
plt.show()
  • 展示绘制的折线图

课堂实验:

  • 调整figsize的大小,分别为

    • (10,6)
    • (20,8)
    • (40,16)
    • (80,32)
  • 调整dpi的大小,分别为
    • 10
    • 20
    • 40
    • 80
    • 100
    • 200

绘制图表的一般完整步骤

  • 导入依赖
  • 准备数据
  • 解决中文乱码问题
  • 绘制画布
  • 绘制图像
  • 绘制标题
  • 绘制xy轴标签
  • 绘制xy轴刻度
  • 绘制网格
  • 绘制图例
  • 保存图片
  • 显示图片

示例:北京上海气温折线对比图

# 导入依赖
import matplotlib.pyplot as plt
from random import randint# 准备数据
x = range(60) # 一个小时内的气温
y_beijing = [randint(15, 18) for _ in x] # 北京气温
y_shanghai = [randint(1, 3) for _ in x] # 上海气温x_ticks = ['11点%02d分'%(i) for i in x] # x轴刻度
y_ticks = range(20) # y轴刻度# 解决中文乱码问题
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False# 绘制画布
plt.figure(figsize=(10, 6), dpi=100)# 绘制图像
plt.plot(x, y_beijing, label='北京气温')
plt.plot(x, y_shanghai, label='上海气温')# 绘制标题
plt.title('北京上海气温折线对比图')# 绘制xy轴标签
plt.xlabel("时间")
plt.ylabel("气温")# 绘制xy轴刻度
plt.xticks(x[::10], x_ticks[::10])
plt.yticks(y_ticks)# 绘制网格
plt.grid()# 绘制图例
plt.legend()# 保存图片
plt.savefig('./test.png')# 显示图片
plt.show()

代码分析

x = range(60) # 一个小时内的气温
y_beijing = [randint(15, 18) for _ in x] # 北京气温
y_shanghai = [randint(1, 3) for _ in x] # 上海气温x_ticks = ['11点%02d分'%(i) for i in x] # x轴刻度
y_ticks = range(20) # y轴刻度
  • 准备数据
  • x是从0-59的数字,表示一个小时内的分钟数
  • y_beijing表示一个小时内北京气温的随机值,是60个15-18的随机数
  • y_shanghai表示一个小时内上海气温的随机值,是60个1-3的随机数
  • x_ticks表示x轴的标签,是时间字符串数组
  • y_ticks表示y轴的标签,是0-19的整数序列
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus'] = False
  • 解决中文乱码问题
  • windows上的固定写法,一般添加这两行都能解决乱码问题
  • Microsoft YaHei:表示微软雅黑字体,也可以替换为系统中的其他存在字体,一般不建议修改
plt.plot(x, y_beijing, label='北京气温')
plt.plot(x, y_shanghai, label='上海气温')
  • 绘制图像
  • 这里绘制了两条折线,分别表示北京的气温变化和上海的气温变化
  • 同时使用label添加了标签,后面的显示图例依赖于这里的设置
# 绘制标题
plt.title('北京上海气温折线对比图')# 绘制xy轴标签
plt.xlabel("时间")
plt.ylabel("气温")# 绘制xy轴刻度
plt.xticks(x[::10], x_ticks[::10])
plt.yticks(y_ticks)# 绘制网格
plt.grid()# 绘制图例
plt.legend()
  • 绘制标题,标签,刻度,网格,图例
plt.savefig('./test.png')
  • 保存图片
  • 查看代码所在文件夹,发现会多了一个test.png的图片

谢谢

  • 本次课程到此结束,感谢大家的聆听
  • 我的电话+微信:18010070052,大家对本次课程有什么问题,建议,想法可以随时联系我,单纯觉得我人不错,想要交个朋友,也是可以滴
  • 再次感谢,相遇是缘,感谢大家给我这次授课的机会,祝大家学习愉快,学业顺利,写代码永无bug

理想国matplotlib入门教程相关推荐

  1. Matplotlib 入门教程

    Matplotlib 入门教程 来源:Introduction to Matplotlib and basic line 译者:飞龙 协议:CC BY-NC-SA 4.0 在线阅读 PDF格式 EPU ...

  2. matplotlib入门教程笔记

    Matplotlib 入门教程 来源:Introduction to Matplotlib and basic line 译者:飞龙 协议:CC BY-NC-SA 4.0 在线阅读 PDF格式 EPU ...

  3. 大数据分析——Matplotlib入门教程

    文章目录 1.问题区 2. matplotlib.pyplot简介 1.Pyplot中的基础函数解析 3. 使用Matplotlib画图基本步骤 1.基础方法解析 : 2.基础参数解析: (1)Lin ...

  4. 机器学习——Matplotlib入门教程

    文章目录 1.问题区 2. matplotlib.pyplot简介 1.Pyplot中的基础函数解析 3. 使用Matplotlib画图基本步骤 基础方法解析 : 基础参数解析: Line Style ...

  5. 理想国pytorch入门教程

    01.简介 pytorch是一个能在CPU和GPU上运行并解决各类深度学习问题的深度学习框架 可以将其看作是支持GPU计算和自动微分计算的Numpy库 pytorch是一个灵活,容易学习的python ...

  6. 理想国Numpy入门教程

    01.简介 Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度数组 Numpy支持常见的数组和矩阵操作,对于同样的数值计算任务,使用Numpy比直接 ...

  7. 理想国Python入门教程

    01.计算机基础 计算机组成 硬件系统 CPU: 计算机的运算和计算中心 相当于人类大脑 内存: 暂时存储数据,临时加载数据应用程序 4G,8G,16G,32G 速度快,高铁,断电即消失.造价很高 硬 ...

  8. 理想国Elasticsearch入门教程

    01.简介 what:是什么 全文搜索引擎技术 支持PB级的快速搜索 Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的检索数据:本身扩展性很好,可以 ...

  9. Python 数据科学入门教程:Matplotlib

    Matplotlib 入门教程 来源:Introduction to Matplotlib and basic line 译者:飞龙 协议:CC BY-NC-SA 4.0 在线阅读 PDF格式 EPU ...

最新文章

  1. 第 13 章 编码风格
  2. FastJson乱序问题
  3. oracle function详解,Oracle 函数 Function 解析
  4. C语言socket getsockopt() setsockopt()函数(获取和设置套接口的选项?)
  5. java 反射访问静态方法_如何使用反射(Java)调用私有静态方法?
  6. 什么是 TypeScript 变量的 declared type
  7. shell python脚本语言_python脚本里使用shell语句
  8. 双11成交多少和我无关,但这个魔性MV真的让我笑喷!
  9. Shell脚本——变量
  10. python聚类分析案例_深度解读|如何构建用户分级体系实现精细化运营?附案例实操...
  11. getParameter
  12. 《HBase企业应用开发实战》—— 3.6 本章小结
  13. 转!!存储过程和触发器
  14. 对“xxx”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。...
  15. win7系统服务器错误404,Win7旗舰版系统下无法打开http://localhost出现404错误如何解决...
  16. jquery图片延迟加载 及 serializeArray、serialize用法记录
  17. solidity教程(二)僵尸攻击人类
  18. 电工电子技术基础----multisim7使用及实验过程
  19. 五大地形等高线特征_五大地形的气候特点
  20. 图像复原模型及PSF与OTF

热门文章

  1. 已被macOS使用不能打开解决,iphone照片到移动硬盘
  2. 基于 abp vNext 和 .NET Core 开发博客项目 - 异常处理和日志记录
  3. 悬镜安全与东方通达成战略合作,共筑国产软件供应链安全可信生态
  4. H5 唤醒腾讯地图百度地图并导航
  5. KeyManager 一站式证书申请和证书秘钥管理
  6. 蓝牙耳机通话效果最好排名、盘点几款比较不错的耳机
  7. Oracle无法登录用户
  8. vijos1264 lcs+ lis
  9. 用nodejs写一个简易小爬虫
  10. Android常见设计模式——UML图,及其使用案例