学Python不会Matplotlib是什么?一文教你入门Matplotlib

Posted 神的孩子都在歌唱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学Python不会Matplotlib是什么?一文教你入门Matplotlib相关的知识,希望对你有一定的参考价值。

前言:

作者:神的孩子在跳舞
本人是刚开始学机器学习的小白,以下都是我的学习笔记,有一些是我自己理解的话,所以可能有不对的地方或者有些话只适合我自己理解(仅供参考),不对的希望大家能指出来,另外我创建了一个机器学习交流群903419026,各位跟我一样的小白可以进来多交流交流,互相促进,大佬看见了可以进来指导一下(狗头)。我的微信:chenyunzhiLBP

一. Matplotlib作用

可视化是在整个数据挖掘的关键辅助工具,可以清晰的理解数据,从而调整我们的分析方法,是专门用于开发2D(3D)图表的包

  1. 能将数据进行可视化,更直观的呈现
  2. 使数据更加客观、更具说服力

二. Matplotlib三层结构

  1. 容器层:Canvas(画板)、Figure(画布)、Axes(坐标)组成
  2. 辅助显示层:主要作用添加坐标轴描述,标题等内容
  3. 图像层:设定要画一个什么样的图像:plot,scatter…

三. Matplotlib之HelloWorld

绘制图像流程【掌握】

  1. 创建画布 – plt.figure(figsize=(20,8),dpi=)

    (1)figsize:指定图的长宽
    (2)dpi:图像的清晰度

  2. 绘制图像 – plt.plot(x, y)

  3. 显示图像 – 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 辅助显示层

上面已经用到了容器层图像层,那么我们接下来添加辅助显示层

  1. 添加自定义x,y刻度
plt.xticks(x, 刻度值)

x:要显示的刻度值

plt.yticks(y, 刻度值)

y:要显示的刻度值

可以通过y[::5]切片的方式,每隔5个格刻度值

  1. 添加网格显示
plt.grid(True, linestyle='--', alpha=0.5)
  1. 添加x轴、y轴描述信息及标题
plt.xlabel("x轴")
plt.ylabel("y轴")
plt.title("标题")
  1. 显示图例
plt.legend(loc="best")
  1. 多个坐标系显示
#可以在一个画布上显示两个图像
plt.subplots(nrows=, ncols=)
  1. 图像保存
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)

Python-Matplotlib可视化(10)——一文详解3D统计图的绘制

matplotlib的学习1-为什么学他

一文搞定Matplotlib 各个示例丨建议收藏

matplotlib 不会绘制 python3

深度学习基础之matplotlib,一文搞定各个示例,建议收藏以后参考