理想国matplotlib入门教程
简介
个人简介
- 姓名:张大鹏
- 性别:男
- 生日: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入门教程相关推荐
- Matplotlib 入门教程
Matplotlib 入门教程 来源:Introduction to Matplotlib and basic line 译者:飞龙 协议:CC BY-NC-SA 4.0 在线阅读 PDF格式 EPU ...
- matplotlib入门教程笔记
Matplotlib 入门教程 来源:Introduction to Matplotlib and basic line 译者:飞龙 协议:CC BY-NC-SA 4.0 在线阅读 PDF格式 EPU ...
- 大数据分析——Matplotlib入门教程
文章目录 1.问题区 2. matplotlib.pyplot简介 1.Pyplot中的基础函数解析 3. 使用Matplotlib画图基本步骤 1.基础方法解析 : 2.基础参数解析: (1)Lin ...
- 机器学习——Matplotlib入门教程
文章目录 1.问题区 2. matplotlib.pyplot简介 1.Pyplot中的基础函数解析 3. 使用Matplotlib画图基本步骤 基础方法解析 : 基础参数解析: Line Style ...
- 理想国pytorch入门教程
01.简介 pytorch是一个能在CPU和GPU上运行并解决各类深度学习问题的深度学习框架 可以将其看作是支持GPU计算和自动微分计算的Numpy库 pytorch是一个灵活,容易学习的python ...
- 理想国Numpy入门教程
01.简介 Numpy(Numerical Python)是一个开源的Python科学计算库,用于快速处理任意维度数组 Numpy支持常见的数组和矩阵操作,对于同样的数值计算任务,使用Numpy比直接 ...
- 理想国Python入门教程
01.计算机基础 计算机组成 硬件系统 CPU: 计算机的运算和计算中心 相当于人类大脑 内存: 暂时存储数据,临时加载数据应用程序 4G,8G,16G,32G 速度快,高铁,断电即消失.造价很高 硬 ...
- 理想国Elasticsearch入门教程
01.简介 what:是什么 全文搜索引擎技术 支持PB级的快速搜索 Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的检索数据:本身扩展性很好,可以 ...
- Python 数据科学入门教程:Matplotlib
Matplotlib 入门教程 来源:Introduction to Matplotlib and basic line 译者:飞龙 协议:CC BY-NC-SA 4.0 在线阅读 PDF格式 EPU ...
最新文章
- 第 13 章 编码风格
- FastJson乱序问题
- oracle function详解,Oracle 函数 Function 解析
- C语言socket getsockopt() setsockopt()函数(获取和设置套接口的选项?)
- java 反射访问静态方法_如何使用反射(Java)调用私有静态方法?
- 什么是 TypeScript 变量的 declared type
- shell python脚本语言_python脚本里使用shell语句
- 双11成交多少和我无关,但这个魔性MV真的让我笑喷!
- Shell脚本——变量
- python聚类分析案例_深度解读|如何构建用户分级体系实现精细化运营?附案例实操...
- getParameter
- 《HBase企业应用开发实战》—— 3.6 本章小结
- 转!!存储过程和触发器
- 对“xxx”类型的已垃圾回收委托进行了回调。这可能会导致应用程序崩溃、损坏和数据丢失。向非托管代码传递委托时,托管应用程序必须让这些委托保持活动状态,直到确信不会再次调用它们。...
- win7系统服务器错误404,Win7旗舰版系统下无法打开http://localhost出现404错误如何解决...
- jquery图片延迟加载 及 serializeArray、serialize用法记录
- solidity教程(二)僵尸攻击人类
- 电工电子技术基础----multisim7使用及实验过程
- 五大地形等高线特征_五大地形的气候特点
- 图像复原模型及PSF与OTF