(学习笔记)matplotlib.pyplot模块下基本画图函数的整理

news/2024/2/28 1:09:51

matplotlib版本:3.7.1

python版本:3.10.12

基本函数

      • matplotlib版本:3.7.1
      • python版本:3.10.12
  • 1. plt.plot()函数
    • 1.1 plt.plot(x, y)
    • 1.2 plt.plot(x, y, **kwargs)
  • 2. plt.xlable(), plt.ylable()
  • 3. plt.title()
  • 4. plt.show()
  • 5.plt.subplot()
    • plt.subplots()
  • 6. plt.figure()
    • fig.add_subplot()

# 模块引入
import matplotlib.pyplot as plt

1. plt.plot()函数

主要用于画图,绘制点和线。
语法:

plt.plot(x,y,format_string,**kwargs)

参数介绍:

x:x轴的数据,可以是标量、元组、列表
y:y轴的数据,可以是标量、元组、列表
format_string:控制曲线格式的字符串,可选
**kwargs:第二组或更多(x,y,format_string),可画多条曲线。

其中format_string:由颜色字符、风格字符、标记字符组成
颜色字符举例:
‘b’ :蓝色
‘c’: 青绿色
‘g’: 绿色
‘k’ :黑色
‘m’:洋红色
‘r’: 红色
‘w’:白色
‘y’: 黄色

风格字符举例:
‘‐’ 实线
‘‐‐’ 破折线
‘‐.’ 点划线
‘:’ 虚线
‘’ ’ ’ 无线条

标记字符举例:
‘.’ 点标记
‘,’ 像素标记(极小点)
‘o’ 实心圈标记
‘v’ 倒三角标记
‘^’ 上三角标记
‘>’ 右三角标记
‘<’ 左三角标记


**kwargs这是一个字典,里面有很多可选参数:
常用的几个为:
color:指定颜色
lable:线条的标签
linestyle:线条的风格
linewidth:线条的宽度

1.1 plt.plot(x, y)

x = [1, 2, 4, 7]
y = [5, 6, 8, 10]# 传入两个列表,x为横坐标,y为纵坐标
plt.plot(x, y)
plt.show()

在这里插入图片描述

x = [1, 2, 4, 7]
y = [5, 6, 8, 10]
y1 = [11, 15, 16, 19]# 传入两个列表,x为横坐标,y为纵坐标
plt.plot(x, y) # 用红色的原点,标出点,用实线连接
plt.plot(y1)   #x可以省略,默认从[0, 1, 2, 3, N-1 ]递增
plt.show()

在这里插入图片描述
还可以传入两组或多组参数

x = [1, 2, 4, 7]
y = [5, 6, 8, 10]
x1 = [10, 12, 14, 18]
y1 = [11, 15, 16, 19]# 传入两个列表,x为横坐标,y为纵坐标
plt.plot(x, y, 'ro-', x1, y1, 'bo--')
plt.show()

在这里插入图片描述

还可以传2维数组

lst1 = [[0, 1, 2], [3, 4, 5], [6, 7, 8]]
lst2 = [[2, 3, 2], [3, 4, 3], [4, 5, 4]]
# 传入两个列表,x为横坐标,y为纵坐标
plt.plot(lst1, lst2,  'bo--')
plt.show()

观察发现,二维数组的第一列为一组坐标,第二列为一组坐标,第三列为一组坐标。
在这里插入图片描述

1.2 plt.plot(x, y, **kwargs)

控制线和点的参数。

x = [1, 2, 4, 7]
y = [5, 6, 8, 10]
# 蓝色,线宽20,圆点,点尺寸50,点填充红色,点边缘宽度6,点边缘灰色
plt.plot(x, y, color="blue", linewidth=10, marker="o", markersize=50,markerfacecolor="red", markeredgewidth=6, markeredgecolor="grey")
plt.show()

在这里插入图片描述

2. plt.xlable(), plt.ylable()

给x/y轴取名字。

语法:plt.xlable(string)
string:字符串格式名字

x = [1, 2, 4, 7]
y = [5, 6, 8, 10]plt.xlabel('size')
plt.ylabel('price')
plt.plot(x, y, 'ro')
plt.show()

在这里插入图片描述

3. plt.title()

给表格取一个标题。

语法:plt.title(string)
shring:字符串格式的标题。

x = [1, 2, 4, 7]
y = [5, 6, 8, 10]plt.xlabel('size')
plt.ylabel('price')
plt.title('house price')
plt.plot(x, y, 'ro')
plt.show()

在这里插入图片描述

4. plt.show()

显示坐标图。
上面几个函数已经包含此例子。

5.plt.subplot()

把一个figure分成n行m列,选择第k个位置作图(从1开始数)。

语法:plt.subplot(nrows,mcols, k)

# 把画布分成两行两列,画在第四个位置
x = [1, 2, 4, 7]
y = [5, 6, 8, 10]
plt.subplot(224)
plt.xlabel('size')
plt.ylabel('price')
plt.title('house price')
plt.plot(x, y, 'ro')
plt.show()

在这里插入图片描述

plt.subplots()

语法:fig, ax = plt.subplots(nrows=1, ncols=1, *, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)

参数设置:

  • nrows/ncols:设置图标的行数、列数,默认为1
  • sharex/sharey:设置x、y是否为共享属性,默认为false,可设置为’none’、‘all’、‘row’或‘col’。False或none每个子图的x轴或y轴都是独立的,True或‘all’:所有子图共享x轴或y轴,‘col’:设置每个子图列共享一个x轴或y轴。
  • squeeze:布尔值,默认为 True,表示额外的维度从返回的 Axes(轴)对象中挤出,对于 N*1 或 1*N 个子图,返回一个 1 维数组,对于 N*M,N>1 和 M>1 返回一个 2 维数组。如果设置为 False,则不进行挤压操作,返回一个元素为 Axes 实例的2维数组,即使它最终是1x1。
  • subplot_kw:可选,字典类型。把字典的关键字传递给 add_subplot() 来创建每个子图。
  • gridspec_kw:可选,字典类型。把字典的关键字传递给 GridSpec 构造函数创建子图放在网格里(grid)
  • **fig_kw:把详细的关键字参数传给 figure() 函数
import matplotlib.pyplot as plt
import numpy as np# 创建一些测试数据 -- 图1
x = np.linspace(0, 2*np.pi, 400)
y = np.sin(x**2)# 创建一个画像和子图 -- 图2
fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_title('Simple plot')# 创建两个子图 -- 图3
f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
ax1.plot(x, y)
ax1.set_title('Sharing Y axis')
ax2.scatter(x, y)# 创建四个子图 -- 图4
fig, axs = plt.subplots(2, 2, subplot_kw=dict(projection="polar"))
axs[0, 0].plot(x, y)
axs[1, 1].scatter(x, y)# 共享 x 轴
plt.subplots(2, 2, sharex='col')# 共享 y 轴
plt.subplots(2, 2, sharey='row')# 共享 x 轴和 y 轴
plt.subplots(2, 2, sharex='all', sharey='all')# 这个也是共享 x 轴和 y 轴
plt.subplots(2, 2, sharex=True, sharey=True)# 创建标识为 10 的图,已经存在的则删除
fig, ax = plt.subplots(num=10, clear=True)plt.show()

在这里插入图片描述

在这里插入图片描述


使用该函数画一个散点图的示例:

X_train = np.array([[1.0], [2.0]], dtype=np.float32)           #(size in 1000 square feet)
Y_train = np.array([[300.0], [500.0]], dtype=np.float32)       #(price in 1000s of dollars)fig, ax = plt.subplots(1,1)
ax.scatter(X_train, Y_train, marker='x', c='r', label="Data Points")
ax.legend( fontsize='xx-large')
ax.set_ylabel('Price (in 1000s of dollars)', fontsize='xx-large')
ax.set_xlabel('Size (1000 sqft)', fontsize='xx-large')
plt.show()

在这里插入图片描述

6. plt.figure()

创建一个matplotlib函数的对象,它是顶层容器。我们可以利用这个对象来进行画图操作。

语法:fig = plt.figure()
创建一个fig的对象

fig.add_subplot()

增加一个子图

语法:ax = fig.add_subplot(111)
增加一个一行一列的子图

参考网站:
菜鸟教程


http://www.ppmy.cn/news/993885.html

相关文章

P1090 [NOIP2004 提高组] 合并果子

题目描述 在一个果园里&#xff0c;多多已经将所有的果子打了下来&#xff0c;而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。 每一次合并&#xff0c;多多可以把两堆果子合并到一起&#xff0c;消耗的体力等于两堆果子的重量之和。可以看出&#xff0…

UE C++ 知识补充

反射 描述运行时得到类型的功能&#xff0c;通过类型信息反过来创建对象&#xff0c;读取修改属性&#xff0c;调用方法的功能行为 反射用于在是在程序运行时动态加载类以及获取类的信息&#xff0c;反射数据描述了类在运行时的内容这些数据所存储的信息包括类的名称、类中的数…

深度学习,神经网络介绍

目录 1.神经网络的整体构架 2.神经网络架构细节 3.正则化与激活函数 4.神经网络过拟合解决方法 1.神经网络的整体构架 ConvNetJS demo: Classify toy 2D data 我们可以看看这个神经网络的网站&#xff0c;可以用来学习。 神经网络的整体构架如下1&#xff1a; 感知器&…

django实现部门表的增删改查界面

1、前期准备 部署好mysql数据库&#xff0c;创建好unicom数据库下载好bootstap的插件下载好jquery的插件下载好mysqlclient-1.4.6-cp36-cp36m-win_amd64.whl的安装包&#xff0c;根据python的版本下载 2、创建项目 在pycharm中创建项目 在pycharm的终端创建虚拟环境 py -m v…

秋招备战笔试Day2

目录 单选 1.A 派生出子类 B &#xff0c; B 派生出子类 C &#xff0c;并且在 java 源代码有如下声明&#xff1a; 2.下面代码将输出什么内容&#xff1a;&#xff08;&#xff09; 3.阅读如下代码。 请问&#xff0c;对语句行 test.hello(). 描述正确的有&#xff08;&…

尚医通10:科室排班日期+科室排班详细数据+搭建平台用户系统前端环境

内容介绍 1、查看科室排班日期统计数据 2、查看科室排班详细数据 3、搭建平台用户系统前端环境 4、首页静态数据整合 5、首页数据显示接口 6、首页数据显示前端 查看科室排班日期统计数据 1确认需求 2、实现接口 1&#xff09;分析接口 *参数&#xff1a;page、limit、h…

Redis 操作List

【分布式】Redis 分布式之List_redissonclient.getlist_比嗨皮兔的博客-CSDN博客 说明 配置文件参考&#xff1a;https://blog.csdn.net/qq_38428623/article/details/123217001?utm_sourceapp&app_version5.1.1&codeapp_1562916241&uLinkIdusr1mkqgl919blen ——…

5.2.16.静态映射操作LED3

5.2.16.静态映射操作LED3 5.2.16.1、添加驱动中的写函数 (1)先定义好应用和驱动之间的控制接口&#xff0c;这个是由自己来定义的。譬如定义为&#xff1a;应用向驱动写"on"则驱动让LED亮&#xff0c;应用向驱动写"off"&#xff0c;驱动就让LED灭 1. 驱动文…

拯救者Y9000K无线Wi-Fi有时不稳定?该如何解决?

由于不同品牌路由器的性能差异&#xff0c;无法完美兼容最新的无线网卡技术&#xff0c;在连接网络时&#xff08;特别是网络负载较大的情况下&#xff09;&#xff0c;可能会出现Wi-Fi信号断开、无法网络无法访问、延迟突然变大的情况&#xff1b;可尝试下面方法进行调整。 1…

dolphinscheduler switch+传参无坑版

dolphinscheduler 的前后传参有较多的坑&#xff0c;即便是3.0.5版本仍然有一些bug 下面是目前能无坑在3.0.5版本上使用的操作 前置任务 在界面上设置变量和参数名称 跟官方网站不一样&#xff0c;注意最后一行一定使用echo ${setValue(key$query)}的方式&#xff0c;注意引…

Docker安装部署ShardingProxy详细教程

&#x1f680; ShardingSphere &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&…

软件测试学习路线-基础篇

目录 功能测试 自动化测试Selenium和Appium 接口测试Jmeter 性能测试Loadrunner 软件测试自学实践部分比较难&#xff0c;因为需要找到有问题的源代码进行测试&#xff0c;更建议跟团队一起学习。 下面讲讲软件测试的学习路线&#xff0c;希望对你有所帮助&#xff1a; 功…

基于以太坊+IPFS的去中心化数据交易方法及平台

自己的论文&#xff0c;哎费事 目录 基于以太坊IPFS的去中心化数据交易方法及平台 基于以太坊IPFS的去中心化数据交易方法及平台 摘要&#xff1a; 数据交易过程中存在数据权属不明和数据安全问题。本文开发了一种基于以太坊IPFS的去中心化数据交易方法及平台。方法包括&am…

ES开启身份认证

文章目录 X-Pack简介之前的安全方案ES开启认证ES服务升级https协议开启集群节点之间的证书认证 X-Pack简介 X-Pack是Elastic Stack扩展功能&#xff0c;提供安全性&#xff0c;警报&#xff0c;监视&#xff0c;报告&#xff0c;机器学习和许多其他功能。 X-Pack的发展演变&am…

2023牛客暑期多校训练营2

D.The Game of Eating 思路&#xff1a;考虑贪心。每个人都会选择一道对于自身价值最大的菜&#xff0c;但考虑到其他人会帮自己提供一定的贡献&#xff0c;即样例二&#xff0c;第一个只需要点第三道菜&#xff0c;第二个人点第四道菜&#xff0c;自动帮第一个人补全了第四道…

《2023购物中心运营数字化白皮书》正式发布!|爱分析报告

在国家政策鼓励线下实体经济发展、鼓励消费的大背景下&#xff0c;购物中心的发展潜力巨大。但另一方面&#xff0c;随着行业进入存量时代&#xff0c;竞争愈发激烈&#xff0c;品牌扩张乏力&#xff0c;购物中心招商压力增大。以数字化手段加持的精细化运营&#xff0c;成为购…

搞清楚 Windows C/C++ 编程中各种编码

最近编写程序,中文乱码问题让很多同学很头疼,那么今天黄老师来帮大家剖析一下: 以 “好人“ 两个字为例: 等会我们使用代码跟踪内存,来查看字节的编码: 先上代码: #include<stdio.h> #include<stdlib.h> #include<windows.h>char * ConvertUT…

flask数据库操作

本文将详细介绍在Flask Web应用中如何设计数据库模型,并使用Flask-SQLAlchemy等扩展进行数据库操作的最佳实践。内容涵盖数据模型设计,ORM使用,关系映射,查询方法,事务处理等方面。通过本文,您可以掌握Flask数据库应用的基本知识。 Flask作为一个流行的Python Web框架,提供了高…

Kubernetes(K8s)从入门到精通系列之七:K8s的基本概念和术语之安全类

Kubernetes K8s从入门到精通系列之七:K8s的基本概念和术语之安全类 一、安全类二、Role和ClusterRole三、RoleBinding和ClusterRoleBinding一、安全类 开发的Pod应用需要通过API Server查询、创建及管理其他相关资源对象,所以这类用户才是K8s的关键用户。K8s设计了Service A…

vue3-seamless-scroll无缝滚动

安装 npm install vue3-seamless-scroll --save 组件配置 list 无缝滚动列表数据&#xff0c;组件内部使用列表长度。 type: Array required: true v-model 通过v-model控制动画滚动与停止&#xff0c;默认开始滚动 type: Boolean, default: true, required: false dire…
最新文章