学Python不会Matplotlib是什么?一文教你入门Matplotlib
Posted 神的孩子都在歌唱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学Python不会Matplotlib是什么?一文教你入门Matplotlib相关的知识,希望对你有一定的参考价值。
前言:
作者:神的孩子在跳舞
本人是刚开始学机器学习的小白,以下都是我的学习笔记,有一些是我自己理解的话,所以可能有不对的地方或者有些话只适合我自己理解(仅供参考),不对的希望大家能指出来,另外我创建了一个机器学习交流群903419026
,各位跟我一样的小白可以进来多交流交流,互相促进,大佬看见了可以进来指导一下(狗头)。我的微信:chenyunzhiLBP
一. Matplotlib作用
可视化是在整个数据挖掘的关键辅助工具,可以清晰的理解数据,从而调整我们的分析方法,是专门用于开发2D(3D)图表的包
- 能将数据进行可视化,更直观的呈现
- 使数据更加客观、更具说服力
二. Matplotlib三层结构
- 容器层:Canvas(画板)、Figure(画布)、Axes(坐标)组成
- 辅助显示层:主要作用添加坐标轴描述,标题等内容
- 图像层:设定要画一个什么样的图像:plot,scatter…
三. Matplotlib之HelloWorld
绘制图像流程【掌握】
-
创建画布 – plt.figure(figsize=(20,8),dpi=)
(1)figsize:指定图的长宽
(2)dpi:图像的清晰度 -
绘制图像 – plt.plot(x, y)
-
显示图像 – plt.show()
所需要的包
import matplotlib.pyplot as plt
代码展示,画出折线图
#创建画布(容器层)
plt.figure(figsize=(10,10),dpi=100)
#绘制折线图(图像层)
plt.plot([1,2,3,4,5],[12,12,3,4,5])
#保存
plt.savefig("test.png")
#显示图像
plt.show()
#注意:plt.show()会释放figure资源,如果在显示图像之后保存图片将只能保存空图片。
3.1 辅助显示层
上面已经用到了容器层和图像层,那么我们接下来添加辅助显示层
- 添加自定义x,y刻度
plt.xticks(x, 刻度值)
x:要显示的刻度值
plt.yticks(y, 刻度值)
y:要显示的刻度值
可以通过y[::5]切片的方式,每隔5个格刻度值
- 添加网格显示
plt.grid(True, linestyle='--', alpha=0.5)
- 添加x轴、y轴描述信息及标题
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.title("标题")
- 显示图例
plt.legend(loc="best")
- 多个坐标系显示
#可以在一个画布上显示两个图像
plt.subplots(nrows=, ncols=)
- 图像保存
plt.savefig("路径")
代码展示
案例:显示温度变化状况
需求:画出某城市11点到12点1小时内每分钟的温度变化折线图,温度范围在15度~18度
import random
import matplotlib
from matplotlib.font_manager import FontProperties
myfont=FontProperties(fname=r'C:\\Windows\\Fonts\\simhei.ttf',size=14)
sns.set(font=myfont.get_name())
#准备数据并画出初始化折线图
#画出温度变化图
x=range(60)
y_shanghai=[random.uniform(15,18) for i in x]#random.uniform(x, y)方法将随机生成一个实数,它在 [x,y] 范围内。
y_beijing = [random.uniform(-5, 5) for i in x]
#创建画布
plt.figure(figsize=(20,8),dpi=80)
# 2.绘制图
plt.plot(x, y_shanghai, label="上海", color="r", linestyle="--")
plt.plot(x, y_beijing, label="北京")
#绘制折线图
plt.plot(x,y_shanghai)
# 构造x轴刻度标签
x_ticks_label = ["11点{}分".format(i) for i in x]
# 构造y轴刻度
y_ticks = range(40)
# 修改x,y轴坐标的刻度显示
plt.xticks(x[::5], x_ticks_label[::5])
plt.yticks(y_ticks[::5])
#添加网格显示
plt.grid(True,linestyle='--',alpha=0.5)
#添加描述信息
plt.xlabel("时间")
plt.ylabel("温度")
plt.title("中午11点0分到12点之间的温度变化图示")
# 2.4 增加图例
plt.legend(loc="best")
#显示图像
plt.show()
四中文编码问题
可能会出现中文编码问题,如以下情况
在顶上添加以下代码就可以了
#有中文出现的情况,需要u'内容'
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
本人博客:https://blog.csdn.net/weixin_46654114
本人b站求关注:https://space.bilibili.com/391105864
转载说明:跟我说明,务必注明来源,附带本人博客连接。
请给我点个赞鼓励我吧
以上是关于学Python不会Matplotlib是什么?一文教你入门Matplotlib的主要内容,如果未能解决你的问题,请参考以下文章
学机器学习,不会数据分析怎么行——数据可视化分析(matplotlib)