机器学习基础Matplotlib绘图

一、运行环境

  1. 学习工具:jupyter-notebook
  2. python版本:311
  3. 系统:Win11

二、什么是matplotlib?

matplotlib是基于python生态开发的一个可视化绘图库,它的出现让python在数据分析及机器学习方面占了重要的一部分,目前很多数据分析及机器学习相关方面的工程都有使用到这个库,并且由于其简单易用,安装简单等方面的优势深得广大开发者的喜爱。

三、安装及导入

1.安装
pip install matplotlib

  1. 导入项目

新建项目并直接import即可import matplotlib.pyplot as plt,简单易用

四、matplotlib的使用

  1. 基础使用:生成一个画布

highlighter- leaf

复制代码
#定义一个画布
#subplots(X,Y,figsize=(X,Y))
#其中figsize(X,Y) 用于定义画布的大小
fig,ax = plt.subplots(figsize = (10, 5))
plt.show()
  1. 生成多个子图(ax)

highlighter- leaf

复制代码
#subplots(X,Y)用于定义该画布有几行几列,即一个大画布fig上有多个小画布ax组成axes
fig,axes = plt.subplots(2,3,figsize = (10, 4))
plt.show()
  1. 绘制多个子图

highlighter- apache

复制代码
#绘制多个子图
fig,axes = plt.subplots(1,2,figsize=(10,4))   #绘制一个一行两列的图

x=[1,20,40,15,2]
y=[4,6,15,7,6]

#对第一个子图进行绘制
bplot1 = axes[0].plot(x,y)

#绘制第二个子图
bplot2 = axes[1].plot(y,x)
  1. 同一块画布上绘制多条函数

highlighter- apache

复制代码
#简单的线性图
# x = list(range(0,10))
# y =list(range(0,10))
# plt.plot(x,y)
plt.plot(range(12),color="red")  #等价于上面的操作
plt.plot([1,2,3])  #在现有的画布上继续绘画一条直线
  1. 放大图像(只显示函数图像的一部分)

highlighter- apache

复制代码
#原函数图像
x=[1,20,40,15,2]
y=[4,6,15,7,6]
plt.plot(x,y)

highlighter- apache

复制代码
#直接对x,y赋值
x=[1,20,40,15,2]
y=[4,6,15,7,6]
plt.plot(x,y)
#通过设定坐标轴刻度,只显示部分图形
plt.axis([0,10,0,10])   #x:[0,10],y:[0,10]
  1. 为图像添加标题横纵坐标信息
  • 添加标题和x、y名称

highlighter- apache

复制代码
x=[1,20,40,15,2]
y=[4,6,15,7,6]
#添加标题
plt.title("matplotlibTest")
#添加x,y轴名称
plt.xlabel("Feature")
plt.ylabel("shape")
plt.plot(x,y)
  • 更改x、y轴刻度(纯数字形式)

highlighter- apache

复制代码
x=[1,20,40,15,2]
y=[4,6,15,7,6]
#添加标题
plt.title("matplotlibTest")
#添加x,y轴名称
plt.xlabel("Feature")
plt.ylabel("shape")
#修改x轴刻度,纯数字形式
plt.xticks((0,10,20,30,40))
#修改y轴刻度,纯数字形式
plt.yticks((0,5,10,15,20))
plt.plot(x,y)
  • 更改x、y轴刻度(自定义坐标信息)

highlighter- apache

复制代码
x=[1,20,40,15,2]
y=[4,6,15,7,6]
#添加标题
plt.title("matplotlibTest")
#添加x,y轴名称
plt.xlabel("Feature")
plt.ylabel("shape")
#自定义x轴坐标信息
plt.xticks((0,10,20,30,40),('text1','text2','text3','text4','text5'))
#自定义y轴坐标信息
plt.yticks((0,5,10,15,20),('align1','align2','align3','align4','align5'))
plt.plot(x,y)
  1. 基于axes的显示画图

highlighter- clean

复制代码
#基于 axes 的显式画图:用 Axes 画图更加直观,所以被称为“显式画图”,直接用 Figure画图,被称为 “隐式画图”
import numpy as np
x = np.linspace(-1,1,50)  #生成50个-1到1之间的数
y = x**2

fig = plt.figure()  #生成空白画布
ax = fig.add_subplot() #空白的子图

ax.plot(x,y,color="red",linewidth=4,linestyle='-.',marker='o')  #绘画一条函数图

ax.plot(y,x)  #绘画另一条函数图

ax.legend(["y=x**2","y**2=x"])   #添加图例

ax.set_title('x and y',fontsize=20)  #设置标题
ax.set_xlabel("x label")  #设置x轴名称
ax.set_ylabel("y label")  #设置y轴名称
ax.set_xlim(-1,1)  #设置x轴范围
ax.set_ylim(-1,1)  #设置y轴范围

# ax.grid(linewidth=3,linestyle=':',color='purple',alpha=0.5)

plt.show()
相关推荐
小鸡吃米…33 分钟前
机器学习 - K - 中心聚类
人工智能·机器学习·聚类
好奇龙猫1 小时前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
沈浩(种子思维作者)1 小时前
真的能精准医疗吗?癌症能提前发现吗?
人工智能·python·网络安全·健康医疗·量子计算
minhuan1 小时前
大模型应用:大模型越大越好?模型参数量与效果的边际效益分析.51
人工智能·大模型参数评估·边际效益分析·大模型参数选择
Cherry的跨界思维1 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
MM_MS1 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
ASF1231415sd2 小时前
【基于YOLOv10n-CSP-PTB的大豆花朵检测与识别系统详解】
人工智能·yolo·目标跟踪
水如烟2 小时前
孤能子视角:“意识“的阶段性回顾,“感质“假说
人工智能
Carl_奕然2 小时前
【数据挖掘】数据挖掘必会技能之:A/B测试
人工智能·python·数据挖掘·数据分析
旅途中的宽~3 小时前
《European Radiology》:2024血管瘤分割—基于MRI T1序列的分割算法
人工智能·计算机视觉·mri·sci一区top·血管瘤·t1