首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么plt.plot()为numpy数组和numpy矩阵绘制不同的图

plt.plot()函数用于绘制图表,根据传入的参数的类型不同,对于numpy数组和numpy矩阵会有一些细微的差别。

对于numpy数组,plt.plot()函数会将数组的元素视为y轴上的数据点,并按照数组元素的顺序依次绘制图表。x轴上的数据点的默认取值是数组元素的索引值,即0, 1, 2, ...。例如,对于以下代码:

代码语言:txt
复制
import numpy as np
import matplotlib.pyplot as plt

arr = np.array([1, 2, 3, 4, 5])
plt.plot(arr)
plt.show()

plt.plot(arr)会绘制一条折线图,其中x轴上的数据点为0, 1, 2, 3, 4,对应的y轴上的数据点为1, 2, 3, 4, 5。

对于numpy矩阵,plt.plot()函数默认会将矩阵的每一列视为一个单独的数据系列,对应不同的线条。x轴上的数据点默认为矩阵的行索引,即0, 1, 2, ...。例如,对于以下代码:

代码语言:txt
复制
import numpy as np
import matplotlib.pyplot as plt

matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
plt.plot(matrix)
plt.show()

plt.plot(matrix)会绘制三条折线图,其中第一条线的x轴上的数据点为0, 1, 2,对应的y轴上的数据点为1, 4, 7;第二条线的x轴上的数据点为0, 1, 2,对应的y轴上的数据点为2, 5, 8;第三条线的x轴上的数据点为0, 1, 2,对应的y轴上的数据点为3, 6, 9。

如果需要自定义x轴上的数据点,可以通过传入另一个numpy数组来指定。例如:

代码语言:txt
复制
import numpy as np
import matplotlib.pyplot as plt

arr = np.array([1, 2, 3, 4, 5])
x = np.array([0, 10, 20, 30, 40])
plt.plot(x, arr)
plt.show()

plt.plot(x, arr)会绘制一条折线图,其中x轴上的数据点为0, 10, 20, 30, 40,对应的y轴上的数据点为1, 2, 3, 4, 5。

推荐的腾讯云相关产品:腾讯云计算(Cloud Computing,简称CVM)。腾讯云计算是腾讯云提供的高性能云服务器,可以满足各种计算和托管需求。您可以通过腾讯云控制台或API等方式创建、配置和管理云服务器实例,实现计算资源的弹性使用。

了解更多腾讯云计算的详细信息,请访问腾讯云官方文档:https://cloud.tencent.com/document/product/213

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python矩阵和Numpy数组的那些事儿

今天给大家介绍矩阵和NumPy数组。 一、什么是矩阵? 使用嵌套列表和NumPy包的Python矩阵。矩阵是一种二维数据结构,其中数字按行和列排列。 二、Python矩阵 1....row[2]) print("3rd column =", column) 当运行程序时,输出为: 三、NumPy数组 1....让看看如何使用NumPy数组完成相同的任务。 两种矩阵的加法 使用+运算符将两个NumPy矩阵的对应元素相加。...六、总结 本文基于Python基础,介绍了矩阵和NumPy数组,重点介绍了NumPy数组,如何去安装NumPy模块,如何去创建一个NumPy数组的两种方式。...通过案例的分析,代码的演示,运行效果图的展示,使用Python语言,能够让读者更好的理解。 读者可以根据文章内容,自己实现。

2.4K20

numpy线性代数基础 - Python和MATLAB矩阵处理的不同

使用这个包,需要导入numpy。SciPy包以NumPy包为基础,大大的扩展了numpy的能力。...以下默认已经:import numpy as np 以及 impor scipy as sp   下面简要介绍Python和MATLAB处理数学问题的几个不同点。...1.MATLAB的基本是矩阵,而numpy的基本类型是多为数组,把matrix看做是array的子类。2.MATLAB的索引从1开始,而numpy从0开始。   ...此处和MATLAB的二维数组(矩阵)的建立有很大差别。   同样,numpy中也有很多内置的特殊矩阵:   b1=np.zeros((2,3))    #生成一个2行3列的全0矩阵。...在numpy中,也有一个计算矩阵的函数:funm(A,func)。   5.索引   numpy中的数组索引形式和Python是一致的。

1.6K00
  • 机器学习入门 3-5 Numpy数组(和矩阵)的基本操作

    首先导入 numpy 包 import numpy as np 通过 arange 函数创建一个一维数组 x x = np.arange print(x) ''' array([0, 1, 2,...print(x.ndim) # 1 print(X.ndim) # 2 shape 属性查看数组的维度,返回值是一个元组,元组中对应位置的值为数组中对应维度的元素个数。...15 (3 x 5) numpy.array 的数据访问 print(x) ''' array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) ''' print(x[0]) #...X[:2][:3] 等价于 new_X = X[:2] 和 new_X[:3] 这也是为什么推荐使用 X[0, 0] 而不是 X[0][0] 的原因。...子数组与原数组 在 Python 中对列表进行切片实际上创建了新的列表,而 Numpy 优先考虑效率,所以在 numpy 中,如果修改了子数组,那么相应的原数组也会发生改变,反之亦然。

    49110

    手撕numpy(一):简单说明和创建数组的不同方式​​​​​

    最终python通过集成C和C++,最终解决这个问题,也就是说:底层运行的是C和C++的代码,但是上层使用的是python语言去写的。这就是我们为什么都喜欢使用"numpy库"的原因。...2、学习numpy的套路 学习怎么使用numpy组织数据(怎么创建出,你想要的不同维度,不同形状的数组):numpy提供了一个高性能的多维数组对象:ndarray。...4、ndarray数组和list列表的简单对比 ① ndarray数组和list中的数据类型 list列表中可以存储不同的数据类型,例如:x = [1,2.3,True,“中国”]。...ndarray数组中存储的所有的元素的类型,都必须一致。 ② 使用numpy创建数组和使用原生list的效率对比 ?...5)创建单位矩阵和对角矩阵; ① 创建单位矩阵 ## 1)np.eye(x)和np.identity(x) array1 = np.eye(3) display(array1) array2 = np.identity

    67920

    Python-Numpy多维数组 -- 矩阵库、线性代数、绘图库Matplotlib

    对于二维向量,其等效于矩阵乘法。 对于一维数组,它是向量的内积。 对于 N 维数组,它是a的最后一个轴上的和与b的倒数第二个轴的乘积。 ...它从方阵的对角元素计算。 对于 2×2 矩阵,它是左上和右下元素的乘积与其他两个的乘积的差。  换句话说,对于矩阵[[a,b],[c,d]],行列式计算为ad-bc。...Wave  subplot()  subplot()函数允许你在同一图中绘制不同的东西。...以下示例生成两组x和y数组的条形图。 ...这个npy文件在磁盘文件中,存储重建ndarray所需的数据、图形、dtype和其他信息,以便正确获取数组,即使该文件在具有不同架构的另一台机器上。

    1.5K30

    使用Python NumPy库进行高效数值计算

    ,步长为2 slice_with_step = arr[1:8:2] print("索引为1到7的元素,步长为2:", slice_with_step) 数学运算与通用函数 NumPy提供了许多数学运算和通用函数...(matrix1) print("矩阵的逆:", matrix_inverse) 高级操作与广播 数组的拼接与分裂 NumPy允许将多个数组按照指定的轴进行拼接,以及在指定的位置分裂数组。...(arr, [2, 4]) print("分裂结果:", split_result) 广播 广播是一种NumPy中强大的功能,它允许不同形状的数组在进行数学运算时具有相同的形状,而无需复制数据。...这使得对不同形状的数组进行操作变得更加灵活。...('Y-axis') plt.show() 多维数组的操作 NumPy支持多维数组的操作,包括矩阵乘法、转置等。

    2.5K21

    NumPy 初学者指南中文第三版:6~10

    numpy.linalg函数solve()求解形式为Ax = b的线性方程组,其中A是矩阵,b可以是一维或二维数组,而x是未知数变量。 我们将看到dot()函数的使用。...此函数返回三个矩阵U,∑和V,使得U和V为一元且∑包含输入矩阵的奇异值: 星号表示 Hermitian 共轭或共轭转置。复数的共轭改变复数虚部的符号,因此与实数无关。...size=N) 绘制直方图和理论 PDF,其中心值为 0,标准偏差为 1。...勇往直前 – 比较不同形状的数组 使用 NumPy array_almost_equal()函数比较具有不同形状的两个数组。...我们在三行一列中使用三种不同的线型和三个子图绘制了多项式及其一阶和二阶导数(请参见polyplot3.py): import numpy as np import matplotlib.pyplot as

    2.5K00

    十分钟入门 Python 绘图库 Matplotlib 入门教程

    as np data = np.arange(100, 201) plt.plot(data) plt.show() 这段代码的主体逻辑只有三行,但是它却绘制出了一个非常直观的线性图,如下所示: ?...注2:如果没有必要,下文的截图会去掉图形外侧的边框,只保留图形主体。 一次绘制多个图形 有些时候,我们可能希望一次绘制多个图形,例如:两组数据的对比,或者一组数据的不同展示方式等。...它们各自是一个不同区间的线形图,如下所示: ?...subplot函数的前两个参数指定了subplot数量,即:它们是以矩阵的形式来分割当前图形,两个整数分别指定了矩阵的行数和列数。而第三个参数是指矩阵中的索引。...这段代码说明如下: plot函数的第一个数组是横轴的值,第二个数组是纵轴的值,所以它们一个是直线,一个是折线; 最后一个参数是由两个字符构成的,分别是线条的样式和颜色。

    1.1K00

    Python 绘图库 Matplotlib 入门教程

    as np data = np.arange(100, 201) plt.plot(data) plt.show() 这段代码的主体逻辑只有三行,但是它却绘制出了一个非常直观的线性图,如下所示:...注2:如果没有必要,下文的截图会去掉图形外侧的边框,只保留图形主体。 一次绘制多个图形 有些时候,我们可能希望一次绘制多个图形,例如:两组数据的对比,或者一组数据的不同展示方式等。...,它们各自是一个不同区间的线形图,如下所示: ?...subplot函数的前两个参数指定了subplot数量,即:它们是以矩阵的形式来分割当前图形,两个整数分别指定了矩阵的行数和列数。而第三个参数是指矩阵中的索引。...这段代码说明如下: plot函数的第一个数组是横轴的值,第二个数组是纵轴的值,所以它们一个是直线,一个是折线; 最后一个参数是由两个字符构成的,分别是线条的样式和颜色。

    1K10

    Matplotlib入门

    image.png 一次绘制多个图形 有些时候,我们可能希望一次绘制多个图形,例如:两组数据的对比,或者一组数据的不同展示方式等。...subplot函数的前两个参数指定了subplot数量,即:它们是以矩阵的形式来分割当前图形,两个整数分别指定了矩阵的行数和列数。而第三个参数是指矩阵中的索引。...image.png 自定义图形的外观 上述代码展示了两种不同的曲线样式:'r-o' 和 'g--'。字母 'r' 和 'g' 代表线条的颜色,后面的符号代表线和点标记的类型。...image.png 饼状图 pie函数用来绘制饼状图。饼状图通常用来表达集合中各个部分的百分比。...image.png 条形图 bar函数用来绘制条形图。条形图常常用来描述一组数据的对比情况,例如:一周七天,每天的城市车流量。

    1.3K90

    数据科学篇| Matplotlib和数据可视化(三)

    NumPy是一个运行速度非常快的数学库,主要用于数组计算。它可以让你在Python中使用向量和数学矩阵,以及许多用C语言实现的底层函数。...# 绘制折线图(线条形状为--, 颜色为蓝色) plt.plot(x_values, y_values, '--b') plt.show() if __name__ == '__main...(x_values, np.sin(x_values), 'o-b') # 设置绘图为2行1列活跃区为2区(第二个图) plt.subplot(2, 1, 2) plt.plot...绘制直方图 我们可以通过NumPy的random模块的normal函数来生成正态分布的采样数据,其中的三个参数分别表示期望、标准差和样本数量,然后绘制成直方图,代码如下所示。...和使用像素表示图像的位图不同,SVG基于XML存储图像数据,它是W3C定义的一种开放标准的矢量图形语言,可以用来设计更为清晰的Web图像,因为SVG与分辨率无关,在任意放大时不会丢失细节或影响清晰度。

    1.1K30

    盘点8个数据分析相关的Python库(实例+代码)

    数组属性 NumPy数组有一个重要的属性——维度(dimension),它的维度被称作秩(rank)。以二维数组为例,一个二维数组相当于两个一维数组。...了解了以上概念,接着来看NumPy数组中比较重要的ndarray对象的属性: ndarray.ndim:秩,即轴的数量或维度的数量 ndarray.shape:数组的维度,如果存的是矩阵,如n×m矩阵则输出为...▲图2-13 多项式函数绘制 2. 实战:绘制正弦和余弦值 为了明显看到两个效果图的区别,可以将两个效果图放到一张图中显示。Matplotlib中的subplot()函数允许在一张图中显示多张子图。...subplot()常用的3个整型参数分别为子图的行数、子图的列数以及子图的索引。 下面的实例将绘制正弦和余弦两个函数的图像。...1)# 绘制第一个子图 # 绘制第一个图像 plt.plot(x, y_sin) plt.title('Sin') plt.subplot(2, 1, 2)# 绘制2行1 列图像中的第二个子图 plt.plot

    2.6K20

    深入解析 Python 数据分析库:从基础到高级应用

    Python 的强大之处在于其庞大的生态系统,特别是数据分析相关的库,这些库为开发者提供了高效、灵活的数据处理和分析能力。...NumPy:科学计算的基础NumPy 是 Python 中进行科学计算的基础库,它为 Python 提供了高效的多维数组对象和各种数学操作。...NumPy 支持大规模的数据运算,能够处理矩阵和向量运算,适用于数值计算和数据分析的各个领域。...1.1 NumPy 的核心数据结构:ndarrayndarray(N维数组)是 NumPy 中最重要的数据结构,它能够高效地存储和操作大规模的同类型数据。...另外,NumPy 还支持广播机制,能够自动调整不同维度的数组,使得它们可以进行运算。

    80911

    pandas、matplotlib、Numpy模块的简单学习

    直方图 3.折线图 4.散点图+直线图 三、numpy 实例分析 按照要求对电影数据绘图 解决中文乱码配置 统计每一年电影的数量的折线图 根据电影的时长分布绘制饼状图 一、pandas模块 pandas...它包含以下内容: 强大的N维数组对象 复杂的(广播)功能 集成C / C ++和Fortran代码的工具 有用的线性代数,傅立叶变换和随机数功能 除了其明显的科学用途外,NumPy还可以用作通用数据的高效多维容器...numpy:用于数据分析的模块,可进行矩阵的运算, 对两个数组进行相乘的运算 lt1 = [1,2,3] lt2 = [4,5,6] lt = [] for i in range(len(lt1)):...0.] # [0. 0. 0. 0.]] numpy数组运算 这里的数组运算其实就是矩阵的数学运算遵循所有矩阵的运算规则 arr1 = np.ones((3,4))*4#数乘 print(arr1...#numpy数组还可以进行正余弦等三角函数运算 print(np.sin(arr1))#对所有的元素都会进行运算 #数组的矩阵运算--》点乘 arr1 = np.array([[1,2,3],

    1K30

    Numpy中Meshgrid函数介绍及2种应用场景

    ,可用来计算三变量的函数和绘制三维立体图 这里,主要以[X,Y]=meshgrid(x,y)为例,来对该函数进行介绍。...[X,Y] = meshgrid(x,y) 将向量x和y定义的区域转换成矩阵X和Y,其中矩阵X的行向量是向量x的简单复制,而矩阵Y的列向量是向量y的简单复制(注:下面代码中X和Y均是数组,在文中统一称为矩阵了...假设x是长度为m的向量,y是长度为n的向量,则最终生成的矩阵X和Y的维度都是 n*m (注意不是m*n)。...再者,也可以通过在matplotlib中进行可视化,来查看函数运行后得到的网格化数据的结果 plt.plot(X, Y, marker='....Meshgrid函数常用的场景有等高线绘制及机器学习中SVC超平面的绘制(二维场景下)。

    4K21

    matplotlib入门

    (0, 4, 0.2) # 分别使用红色的点划线、蓝色的方块和绿色的三角形来区分这3条曲线 plt.plot(data, data, 'r-...4, 0.2) # 分别使用红色的点划线、蓝色的方块和绿色的三角形来区分这3条曲线 plt.plot(data, data, 'r-...这个参数可用于绘制已合并的数据的直方图; cumulative:布尔值;如果为True,则计算累计频数;如果normed或density取值为True,则计算累计频率; bottom:数组,标量值或...如果取值为True,则坐标轴的刻度为对数刻度;如果log为True且x是一维数组,则计数为0的取值将被剔除,仅返回非空的(frequency, bins, patches); color:具体颜色,数组...轴标题和字体大小 plt.title('正态分布', fontsize=12) plt.xlabel('不同的间隔(bins)', fontsize=10) plt.ylabel('频度大小', fontsize

    4.3K20
    领券