首页 > 电脑常识 > 云计算

电脑常识学Python不会Matplotlib是什么?一文教你入门Matplotlib

admin 云计算 2021-05-25 09:27:46 可视化 python 数据分析 
后台-系统设置-扩展变量-手机广告位-内容正文底部

前言:

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

Matplotlib入门

    • 一. Matplotlib作用
    • 二. Matplotlib三层结构
    • 三. Matplotlib之HelloWorld
      • 3.1 辅助显示层
    • 四中文编码问题

一. 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
转载说明:跟我说明,务必注明来源,附带本人博客连接。

请给我点个赞鼓励我吧
在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_46654114/article/details/116092015

后台-系统设置-扩展变量-手机广告位-内容正文底部
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:https://www.jcdi.cn/yunjisuan/30856.html

留言与评论(共有 0 条评论)
   
验证码:
后台-系统设置-扩展变量-手机广告位-评论底部广告位

教程弟

https://www.jcdi.cn/

统计代码 | 京ICP1234567-2号

Powered By 教程弟 教程弟

使用手机软件扫描微信二维码