大数据分析/机器学习基础之matplotlib绘图篇
一、前言
本人因在学习基于python的机器学习相关教程时第一次接触到matplotlib相关方面的绘图知识,故写此笔记进行记录,如果能帮助到其他人欢迎点个赞表示支持
我的运行环境
- 学习工具:jupyter-notebook
- python版本:311
- 系统:Win11
二、什么是matplotlib?
matplotlib是基于python生态开发的一个可视化绘图库,它的出现让python在数据分析及机器学习方面占了重要的一部分,目前很多数据分析及机器学习相关方面的工程都有使用到这个库,并且由于其简单易用,安装简单等方面的优势深得广大开发者的喜爱。
三、安装及导入
1.安装
pip install matplotlib
2. 导入项目
新建项目并直接import即可import matplotlib.pyplot as plt,简单易用
四、matplotlib的使用
- 基础使用:生成一个画布
#定义一个画布
#subplots(X,Y,figsize=(X,Y))
#其中figsize(X,Y) 用于定义画布的大小
fig,ax = plt.subplots(figsize = (10, 5))
plt.show()

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

- 绘制多个子图
#绘制多个子图
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)

- 同一块画布上绘制多条函数
#简单的线性图
# 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]) #在现有的画布上继续绘画零一条直线

- 放大图像(只显示函数图像的一部分)
#原函数图像
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]

- 为图像添加标题横纵坐标信息
- 添加标题和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)

- 基于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绘图篇的更多相关文章
- 大数据分析常用去重算法分析『Bitmap 篇』
大数据分析常用去重算法分析『Bitmap 篇』 mp.weixin.qq.com 去重分析在企业日常分析中的使用频率非常高,如何在大数据场景下快速地进行去重分析一直是一大难点.在近期的 Apache ...
- 数据分析 大数据之路 六 matplotlib 绘图工具
散点图 #导入必要的模块 import numpy as np import matplotlib.pyplot as plt #产生测试数据 x = np.arange(1,10) y = x ...
- Quick BI助力云上大数据分析---深圳云栖大会
在3月29日深圳云栖大会的数据分析与可视化专场中,阿里云产品专家陌停对大数据智能分析产品 Quick BI 进行了深入的剖析.大会现场的精彩分享也赢得观众们的一直认可和热烈的反响. 大数据分析之路的挑 ...
- 数据分析之Matplotlib和机器学习基础
一.Matplotlib基础知识 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形. 通过 Matplotlib,开发者可以仅需 ...
- 大数据基础知识问答----spark篇,大数据生态圈
Spark相关知识点 1.Spark基础知识 1.Spark是什么? UCBerkeley AMPlab所开源的类HadoopMapReduce的通用的并行计算框架 dfsSpark基于mapredu ...
- 大数据基础知识问答----hadoop篇
handoop相关知识点 1.Hadoop是什么? Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速 ...
- python数据分析三剑客之: matplotlib绘图模块
matplotlib 一.Matplotlib基础知识 Matplotlib中的基本图表包括的元素 - x轴和y轴 axis 水平和垂直的轴线 - x轴和y轴刻度 tick 刻度标示坐标轴的分隔,包括 ...
- python金融大数据分析PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书
点击获取提取码:7k4b 内容简介 唯一一本详细讲解使用Python分析处理金融大数据的专业图书:金融应用开发领域从业人员必读. Python凭借其简单.易读.可扩展性以及拥有巨大而活跃的科学计算社区 ...
- BuzzSumo:什么样的文章能获得疯转?(基于1亿篇文章大数据分析)
BuzzSumo:什么样的文章能获得疯转?(基于1亿篇文章大数据分析) 社交媒体追踪服务分析工具BuzzSumo,2014年5月前后对社交媒体上超过1亿篇文章进行了分析,试图找出一个答案: 什么样的内 ...
- Coursera台大机器学习基础课程1
Coursera台大机器学习基础课程学习笔记 -- 1 最近在跟台大的这个课程,觉得不错,想把学习笔记发出来跟大家分享下,有错误希望大家指正. 一 机器学习是什么? 感觉和 Tom M. Mitche ...
随机推荐
- 浏览器中的自动化操作插件:Automa
相信很多小伙伴跟我一样,每天都有大量基于浏览器的重复操作,比如:查看任务.查看新闻.查看各种每天要关注的内容,甚至可能还需要对其做一些操作.那么这些任务是否有办法自动化执行呢? 今天就给大家推荐一个浏 ...
- 通过Proxy和Reflect实现vue的响应式原理
vue3通过Proxy+Reflect实现响应式,vue2通过defineProperty来实现 Proxy Proxy是什么 Proxy是ES6中增加的类,表示代理. 如果我们想要监听对象的操作过程 ...
- [golang]获取本机IP
前言 方便在内网环境中获取服务器本机IP,省了在脚本中过滤ip或ifconfig的结果. 如果内网中有nginx的话,通过nginx获取本机IP也很方便,可参考 借助nginx自动获取本机IP 示例代 ...
- FreeSWITCH通过mod_mariadb原生连接MySQL
前言 根据官方更新说明(https://freeswitch.org/confluence/display/FREESWITCH/FreeSWITCH+1.10.x+Release+notes),从1 ...
- 古早wp合集
0x00 首先非常感谢大家阅读我的第一篇.本文章不仅仅是题解,一些细枝末节的小问题也欢迎大家一起解答. 小问题的形式如Qx:xxxxxxx? 欢迎发现小问题并讨论~~ N1nE是本人另外一个名字,目前 ...
- 《高级程序员 面试攻略 》rabitmq rcoketmq kafka的区别 和应用场景
RabbitMQ.RocketMQ 和 Kafka 都是流行的消息中间件系统,用于实现分布式应用程序之间的异步通信.虽然它们都有类似的目标,但在设计和应用场景上存在一些区别. 1. RabbitMQ( ...
- 如何在达梦数据库中追踪慢SQL
在达梦数据库中,我们可以通过开启日志记录和设置最小执行时间来追踪慢SQL.下面是具体的步骤: 1. 修改dm.ini文件 使用以下命令编辑dm.ini文件: cd /home/dmdba/dmdbms ...
- ThreadLocal的学习心得
ThreadLocal是Java提供的线程本地存储机制,可以实现多线程环境下数据的隔离.主要特点是: 每个线程都有自己的实例副本,实现了线程的数据隔离.ThreadLocal中存储的值对其他线程都不可 ...
- 【技术积累】Docker部署笔记
服务器环境搭建 nacos镜像 使用宝塔Docker管理器直接拉起nacos环境并运行 注意:在同一台服务器中,nacos只对内网才能注册,图中172.17.0.2是内网地址,在多台服务器中需要跨ip ...
- 对比 MyBatis 和 MyBatis-Plus 批量插入、批量更新的性能和区别
1 环境准备 demo 地址:learn-mybatis · Sean/spring-cloud-alibaba - 码云(gitee.com) 1.1 搭建 MyBatis-Plus 环境 创建 m ...