iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python numpy库之如何使用matpotlib库绘图
  • 258
分享到

python numpy库之如何使用matpotlib库绘图

2024-04-02 19:04:59 258人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录一.Numpy库1.什么是numpy?2.Numpy数组和原生python array数组之间的区别3.Numpy数组 4.numpy数组的运算5.numpy的索引,切

 

一.Numpy库

1.什么是numpy?

numpy是Python进行科学计算的一个基础软件包,他是一个python库,提供多维数组对象,各种派生对象(如掩码数组和矩阵),以及用于数组快速操作的各种api,包括数学,逻辑,形状操作,排序,选择,输入输出,离散傅里叶变化,基本线性代数,基本统计运算和随机模拟等。

2.Numpy数组和原生Python array数组之间的区别

1.Numpy数组在创建时具有固定的大小,与python的原生数组对象可以动态增长不同,更改其大小将会创建一个新的数组并删除原来的数组。

2.Numpy数组中的元素都需要具有相同的数据类型,因此在内存中的大小相同。

3.Numpy数组有助于对大量数据进行高级教学和其他类型的操作,执行效率高

3.Numpy数组

假如我们现在有两个数组,我们要将两个数组对应位置的值相乘,在C语言中我们需要用到循环来解决,而使用numpy数组那我们可以直接将两个数组进行乘法运算,只需要一行代码即可。

 轴:

Numpy的主要对象是同构多维数组,它是一个元素表,所有类型都相同,由非负整数元组索引,在Numpy维度中称为

比如:

数组【1,2,1】:有一个轴,该轴有三个元素1,2,1,轴长为3,这里一轴表示一维数组

数组【【1,0,0】,【0,1,2】】:有两个轴,一轴长度为2,二轴长度为3,这里表示二维数组。

ndarray对象属性如下:

1.ndarray.ndim-数组的轴(维度)的个数

2.ndarray.shape--数组的维度,若有n行,m列则输出为(n,m)

3.ndarray.size--数组元素的总数

4.ndarray.dtype--一个描述数组中元素类型的对象,可以使用标准的python类型创建或指定dtype.

5.ndarray.itemsize--数组中每个元素的字节大小

6.reshape

来看一段代码了解把:

import numpy as np
 
# 同构生成numpy的一维数组
a = np.arange(1, 10, 2)
print(a)
# shape打印numpy数组的形状
print(a.shape)
# ndim打印numpy数组的轴数
print(a.ndim)
# numpy数组元素的访问,数组名【下标】
print(a[0])

 (1).array方法,将一个列表所有元素同构成一个数组

list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
a = np.array(list1)
print(a)
print(a.shape)

 (2)array方法,将一个列表所有元素同构成一个二维数组

list2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
b = np.array(list2)
print(b.shape)

 (3) reshape():改变数组的维度等形状

a = np.arange(1, 21, 1).reshape(4, 5)
print(a)
print(a.shape)

 

还有许多其他的属性,接下来我贴一张图来总结展示就不过多赘述了:

 4.numpy数组的运算

        numpy的运算我用下面一段代码来进行总结,注意没有除法运算

import numpy as np
 
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
 
# 乘法运算,将二维数组(矩阵)对应元素相乘
c = a * b
print(c)
# 加法运算,将二维数组(矩阵)对应元素相加
c = a + b
print(c)
# 减法运算
c = a - b
print(c)
 
print(a.sum())
print(a.max())
print(a.min())
print(a)
# sum(axis=1):将矩阵中各行的所有元素相加作为新元素
print(a.sum(axis=1))
# sum(axis=1):将矩阵中各列元素相加作为新元素
print(a.sum(axis=0))

 

5.numpy的索引,切片 

numpy每个轴都会有自己的索引

1.元素访问【第一轴索引,第二轴索引,......】

2.元素的切片 【start: stop: step, start:stop:step,.....】

左闭右开 eg: b[1: 3, 2: 4]

import numpy as np
 
a = np.arange(10)
print(a.shape)
print(a)
print(a[0], a[-1], a[a.size-1]) # -1表示最后1位
print(a[1: 5]) # 1-5,步长为1 左闭右开
print(a[1:: 2]) # 1-末尾 ,步长为2,左闭右开

二维数组切片:

b = np.arange(20).reshape(4, 5)
print(b)
print(b.shape)
print(b[1][1], b[1][1: -1])
print(b[1, 1], b[1, 1: -1])
print(b[1: 3, 2: 4])

三维数组的切片:

c = np.arange(24).reshape(4, 3, 2)
print(c)
print(c[0: 2, 0: 2, 0: 1])

二.matplotlib

matplotlib是python2D绘图领域使用最广泛的套件,它能让使用者很轻松将数据图形化,并且提供多样化的输出格式,在绘图结构中,figure创建窗口,subplot创建子图,所有的绘图只能在子图上进行,plt表示当前子图,若没有就创建一个子图。

1.绘制直线

我们只需要将两点的x,y坐标进行同构成为两个一维数组,通过plot方法就可以实现,也可以改变参数来修改直线的颜色

import numpy as np
import matplotlib.pyplot as plt
"""
    1.绘制直线,直线两点为(2, 1) (8, 9)
"""
x = np.array([2, 8])  # 将两点的x轴坐标,同构成一个一维数组
y = np.array([1, 9])  # 将两点的y轴坐标,同构成一个一维数组
 
# 绘制直线
plt.plot(x, y)
# plt.plot(x, y, scalex=5, scaley=3)
# 显示窗口
plt.show()

 2.绘制曲线

使用arange方法生成0-4Π之间的x坐标,均匀分布步长为0.1,y左边则按正弦函数进行分布

import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 4 * np.pi, 0.1) # 0-4Π之间,均匀分配,步长0.1
y = np.sin(x) # 呈正弦变化
plt.plot(x, y)
plt.show()

3.散点图绘制 

散点图绘制,主要在绘制坐标点的基础上,通过控制坐标点的分布来控制散点图的分布情况

import numpy as np
import matplotlib.pyplot as plt
"""
2.绘制坐标点
"""
x = np.array([6])
y = np.array([6])
# scatter:绘制点,第1,2参数为坐标,s表示面积,c表示颜色,marker表示形状
plt.scatter(x, y, s=100, c='b', marker="*")
plt.show()
 
"""
3.绘制散点图,呈现正态分布
"""
 # np.random:产生随机数
 # nORMal(0, 3, 500):在0-3之间产生500个正态分布的随机数
 x = np.random.normal(0, 3, 1000)
 y = np.random.normal(0, 3, 1000)
 # 将这1000个点中前500个画成红色圆形,后500个画成蓝色星型
 plt.scatter(x[0: 500], y[0: 500], c='r', marker="o")
 plt.scatter(x[500: 1000], y[500: 1000], c='b', marker="*")
 plt.show()

 4.多界面绘制

import numpy as np
import matplotlib.pyplot as plt
"""
4.多界面绘制,其实就是在一figure窗口使用多个子图
"""
x = np.array([1, 3, 6, 9])
y = np.array([2, 3, 8, 7])
# 指定绘制的子图的位置
# 221表示二行2列, 共四个子图的第1幅图
# 222表示二行2列,共四个子图的的第2幅图
# 223表示二行2列,共四个子图的的第3幅图
# 224表示二行2列,共四个子图的的第4幅图
plt.subplot(221)
plt.plot(x, y, c='r')
 
plt.subplot(222)
plt.plot(x, y, c='b')
 
plt.subplot(223)
plt.plot(x, y, c='g')
 
plt.subplot(224)
plt.plot(x, y, c='y')
plt.show()

 5.柱形图绘制

6.3D图形绘制

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
 
"""
绘制3d图
"""
# 创建窗口
fig = plt.figure()
# 在该窗口中创建3d绘图对象
ax = Axes3D(fig)
 
# 创建点的x和y坐标数组
x = np.arange(-3, 3, 0.2)
y = np.arange(-3, 3, 0.2)
# 网格化处理
x, y = np.meshgrid(x, y)
# 计算某个点到 原点的距离为半径
r = np.sqrt(x**2 + y**2)
# 以半径为基准,求它的正弦值为点的z轴坐标
z = np.sin(r)
# 绘制图像
ax.plot_surface(x, y, z, rstride=3, cstride=1, cmap="hot")
plt.show()

到此这篇关于python numpy库 使用matpotlib库绘图的文章就介绍到这了,更多相关python numpy库内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python numpy库之如何使用matpotlib库绘图

本文链接: https://www.lsjlt.com/news/120757.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python numpy库之如何使用matpotlib库绘图
    目录一.Numpy库1.什么是numpy2.Numpy数组和原生Python array数组之间的区别3.Numpy数组 4.numpy数组的运算5.numpy的索引,切片...
    99+
    2022-11-11
  • 如何使用Python NumPy库绘制渐变图案
    今天就跟大家聊聊有关如何使用Python NumPy库绘制渐变图案,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。NumPy也可以画图吗?当然!NumPy不仅可以画,还可以画...
    99+
    2023-06-22
  • 利用Python NumPy库及Matplotlib库绘制数学函数图像
    目录前言NumPy与Matplotlib函数绘图所需库函数语法导入所需模块一元一次函数一元二次函数指数函数正弦函数余弦函数高级玩法总结 前言 最近开始学习数学了,有一些题目...
    99+
    2022-11-12
  • Python绘图之turtle库的基础语法使用
    目录前言一、turtle库的导入二、绘图命令介绍1. 画布属性设置2. 画笔属性设置3.  移动画笔和转角绘图4.  图形绘制与图形填充三、turtle绘图实例:...
    99+
    2022-11-12
  • 如何在python中使用matplotlib库绘图
    这篇文章给大家介绍如何在python中使用matplotlib库绘图,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。首先介绍绘图时常用的基础命令:plt.plot(x,y)即为绘图命令。①基础画图:plt.plot(x,...
    99+
    2023-06-15
  • Python绘图库之pyqtgraph的用法详解
    plot 设置plot的pen属性的几种方法,通过画笔可以设置绘制图像的颜色、线宽等参数: pen=(255,0,0)pen=pg.mkPen(color=‘b&rsqu...
    99+
    2022-12-30
    Python绘图库pyqtgraph使用 Python绘图库pyqtgraph Python pyqtgraph
  • Python中如何使用Matplotlib库绘制图形
    目录前言一、简单的正弦函数与余弦函数二、进阶版正弦函数与余弦函数1.改变颜色与粗细2.设置图片边界3.设置记号4.设置记号的标签5.设置X,Y轴6.完整代码三、绘制简单的折线图总结前...
    99+
    2022-11-11
  • Python基础之numpy库的使用
    numpy库概述 numpy库处理的最基础数据类型是由同种元素构成的多维数组,简称为“数组” 数组的特点: 数组中所有元素的类型必须相同 数组中元素可以用整数索引 序号从0开始 ndarr...
    99+
    2022-06-02
    Python numpy库的用法 Python numpy
  • Python如何使用Numpy库
    这篇文章主要为大家展示了“Python如何使用Numpy库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Python如何使用Numpy库”这篇文章吧。Numpy库介绍numpy 库处理的最基础数...
    99+
    2023-06-25
  • Python的turtle绘图库使用基础
    目录turtle绘图窗体布局绝对坐标:海龟坐标:绝对角度:RGB色彩体系turtle画笔控制函数turtle运动控制函数turtle方向控制函数其他:turtle常用函数库turtl...
    99+
    2023-05-17
    Python turtle Python绘图库 turtle绘图库
  • 使用Python绘制热图的库 pyHea
    pyHeatMap 详细介绍 这是一个生成热图的小程序,基于 Python 和 PIL 开发。 程序截图: 点击图 热图 安装: 通过 pip 安装: pip install pyheatmap 通过 easy_install 安...
    99+
    2023-01-31
    热图 Python pyHea
  • 怎么使用Python的Matplotlib库绘图
    这篇“怎么使用Python的Matplotlib库绘图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用Python的M...
    99+
    2023-07-02
  • python中如何使用numpy库
    这篇文章主要介绍“python中如何使用numpy库”,在日常操作中,相信很多人在python中如何使用numpy库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python中如何使用numpy库”的疑惑有所...
    99+
    2023-06-27
  • Python中如何使用NumPy库?
    NumPy是Python中最流行的科学计算库之一。它提供了一种高效的处理大型数组和矩阵的方法,同时也包含了许多用于数学、科学和工程计算的常用函数。本文将介绍NumPy库的基础知识以及如何使用它来进行数组和矩阵操作。 安装NumPy 在...
    99+
    2023-09-26
    api numpy spring
  • Python编程利用Numpy和PIL库将图片转化为手绘
    目录主要采用的技术点读取图片,转化为数组计算 x,y,z 轴梯度值,归一化加入光源效果导出图片,并保存主要采用的技术点 Python + Numpy + PIL 在正文代码开始前,大...
    99+
    2022-11-12
  • Python中怎么使用Matplotlib库绘制图形
    这篇文章主要介绍“Python中怎么使用Matplotlib库绘制图形”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python中怎么使用Matplotlib库绘制图形”文章能帮助大家解决问题。一、...
    99+
    2023-07-02
  • 玩数据必备Python库之numpy使用详解
    目录前言1. ndarray介绍2. ndarray的基本操作生成数组数组索引、切片修改数组形状修改数组类型数组去重删除元素3. ndarray运算逻辑运算统计运算数组运算4. ma...
    99+
    2022-11-13
  • Python数据分析之Numpy库的使用详解
    目录前言🧡Numpy库介绍💙ndarray 类常用属性💚Numpy常用函数🍓array函数🥝arang...
    99+
    2022-11-12
  • 如何利用python库matplotlib绘制不同的图表
    这篇文章主要介绍如何利用python库matplotlib绘制不同的图表,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、绘制简单曲线图思路:通过3个坐标点,绘制曲线import matplotlib.py...
    99+
    2023-06-29
  • 如何通过python-turtle库实现绘制图画
    这篇文章给大家分享的是有关如何通过python-turtle库实现绘制图画的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1 图1第一个图是蚊香,感兴趣的小伙伴可以自己尝试在python中用turtle库绘制一下。...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作