一、前言

本人因在学习基于python的机器学习相关教程时第一次接触到matplotlib相关方面的绘图知识,故写此笔记进行记录,如果能帮助到其他人欢迎点个赞表示支持

我的运行环境

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

二、什么是matplotlib?

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

三、安装及导入

1.安装

pip install matplotlib

2. 导入项目

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

四、matplotlib的使用

  1. 基础使用:生成一个画布
#定义一个画布
#subplots(X,Y,figsize=(X,Y))
#其中figsize(X,Y) 用于定义画布的大小
fig,ax = plt.subplots(figsize = (10, 5))
plt.show()

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

  1. 绘制多个子图
#绘制多个子图
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. 同一块画布上绘制多条函数
#简单的线性图
# 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. 放大图像(只显示函数图像的一部分)
#原函数图像
x=[1,20,40,15,2]
y=[4,6,15,7,6]
plt.plot(x,y)

#直接对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名称
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轴刻度(纯数字形式)
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轴刻度(自定义坐标信息)
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的显示画图
#基于 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()

8.其他

matplotlib除了生成上述的线性图以外还可以生成其他箱图等特殊的图像形式,具体可以参考matplotlib的官方文档https://matplotlib.org/stable/tutorials/index.html

大数据分析/机器学习基础之matplotlib绘图篇的更多相关文章

  1. 大数据分析常用去重算法分析『Bitmap 篇』

    大数据分析常用去重算法分析『Bitmap 篇』  mp.weixin.qq.com 去重分析在企业日常分析中的使用频率非常高,如何在大数据场景下快速地进行去重分析一直是一大难点.在近期的 Apache ...

  2. 数据分析 大数据之路 六 matplotlib 绘图工具

      散点图 #导入必要的模块 import numpy as np import matplotlib.pyplot as plt #产生测试数据 x = np.arange(1,10) y = x ...

  3. Quick BI助力云上大数据分析---深圳云栖大会

    在3月29日深圳云栖大会的数据分析与可视化专场中,阿里云产品专家陌停对大数据智能分析产品 Quick BI 进行了深入的剖析.大会现场的精彩分享也赢得观众们的一直认可和热烈的反响. 大数据分析之路的挑 ...

  4. 数据分析之Matplotlib和机器学习基础

    一.Matplotlib基础知识 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形. 通过 Matplotlib,开发者可以仅需 ...

  5. 大数据基础知识问答----spark篇,大数据生态圈

    Spark相关知识点 1.Spark基础知识 1.Spark是什么? UCBerkeley AMPlab所开源的类HadoopMapReduce的通用的并行计算框架 dfsSpark基于mapredu ...

  6. 大数据基础知识问答----hadoop篇

    handoop相关知识点 1.Hadoop是什么? Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速 ...

  7. python数据分析三剑客之: matplotlib绘图模块

    matplotlib 一.Matplotlib基础知识 Matplotlib中的基本图表包括的元素 - x轴和y轴 axis 水平和垂直的轴线 - x轴和y轴刻度 tick 刻度标示坐标轴的分隔,包括 ...

  8. python金融大数据分析PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书

    点击获取提取码:7k4b 内容简介 唯一一本详细讲解使用Python分析处理金融大数据的专业图书:金融应用开发领域从业人员必读. Python凭借其简单.易读.可扩展性以及拥有巨大而活跃的科学计算社区 ...

  9. BuzzSumo:什么样的文章能获得疯转?(基于1亿篇文章大数据分析)

    BuzzSumo:什么样的文章能获得疯转?(基于1亿篇文章大数据分析) 社交媒体追踪服务分析工具BuzzSumo,2014年5月前后对社交媒体上超过1亿篇文章进行了分析,试图找出一个答案: 什么样的内 ...

  10. Coursera台大机器学习基础课程1

    Coursera台大机器学习基础课程学习笔记 -- 1 最近在跟台大的这个课程,觉得不错,想把学习笔记发出来跟大家分享下,有错误希望大家指正. 一 机器学习是什么? 感觉和 Tom M. Mitche ...

随机推荐

  1. ASP.NET Core WebAPI如何获得远程文件返回文件流给前端?

    一.根据网络路径把文件保存成byte[]返回给前端 项目采用的是前后端分离的模式,后端使用ASP.NET Core WebAPI方式,将文件流返回给前端. /// <summary> // ...

  2. Codeforces Round 882 (Div. 2)

    Codeforces Round 882 (Div. 2) A.The Man who became a God 题目大意 给定一个数组 \({x_1,x_2,⋯,x_n}\) 和一个整数 \(k\) ...

  3. 将Python打包成exe

    使用以下命令首先安装包 pip install pyinstaller 参数以及用法 -F生成结果是一个exe文件,所有的第三方依赖.资源和代码均被打包进该exe内 -D生成结果是一个目录,各种第三方 ...

  4. [ABC128D] equeue

    2023-01-14 题目 题目传送门 翻译 翻译 难度&重要性(1~10):4 题目来源 AtCoder 题目算法 暴力,贪心 解题思路 由题意可以得出,数据只有 \(n \leq 50,k ...

  5. Linux 内核设备树时钟绑定

    这种绑定依然处于开发中,并且基于 benh[1] 的一些实验性工作. 时钟信号源可以由设备树中的任何节点表示.这些节点被指定为时钟提供者.时钟消费者节点使用 phandle 和时钟指示符对将时钟提供者 ...

  6. Leetcode刷题笔记——二分法

    二分法是搜索算法中极其典型的方法,其要求输入序列有序并可随机访问.算法思想为 输入:有序数组nums,目的数值target 要求输出:如果target存在在数组中,则输出其index,否则输出-1 将 ...

  7. PHP上传文件$_FILES, $_POST为空 empty 时, 文件上传大小限制

    原因 今天在使用ci upload库时, 上传mp4发现表单为空, 上传png等类型却可以正常. 折腾一番后才恍然, PHP上传大小限制的问题. Make一下. 真是失策啊, 一开始我还不相信到处瞎折 ...

  8. 现代 CSS 解决方案:原生嵌套(Nesting)

    很早之前,就写过一篇与原生嵌套相关的文章 -- CSS 即将支持嵌套,SASS/LESS 等预处理器已无用武之地?,彼时 CSS 原生嵌套还处于工作草案 Working Draft (WD) 阶段,而 ...

  9. glog 日志库简介与测试【GO 常用的库】

    〇.前言 golang/glog 是 C++ 版本 google/glog 的 Go 版本实现,基本实现了原生 glog 的日志格式. 在 Kuberntes 中,glog 是默认日志库.因此需要详细 ...

  10. 达梦数据库-DW-国产化--九五小庞

    武汉达梦数据库股份有限公司成立于2000年,是国内领先的数据库产品开发服务商,国内数据库基础软件产业发展的关键推动者.公司为客户提供各类数据库软件及集群软件.云计算与大数据等一系列数据库产品及相关技术 ...