numpy笔记、plt画图工具

1、numoy

1.1、生成数组

import numpy as np

arr = [i for i in range(30)]
nparr = np.array(arr, dtype=float)
nparr = nparr.reshape(-1, 2, 3)

1.2、查看属性

# 查看维度
nparr.ndim
# 查看构成,返回 list
nparr.shape
# 查看元素类型
nparr.dtype
# 查看元素总数
nparr.size

1.3、创建特殊数组

# 创建全0数组
np.zeros((3,5), dtype=np.int8)
# 创建全1数组
np.ones((3,5), dtype=np.int8)
# 创建任意值数组
np.full((3,5), 100.1, dtype=np.float16)
# 创建连续数组
np.arange(10, dtype=np.float16)
np.arange(1,10, dtype=np.float16)
np.arange(-10,10, 3, dtype=np.float16)
np.arange(0,1, 0.1, dtype=np.float16)
# 等差数组
np.linspace(0, 20, 10)
# 生成一个0-1随机整数
np.random.randint(0, 10)
# 生成3 * 5 0-100随机整数
np.random.randint(0, 100, (3,5))

# 生成一个0-1随机浮点数
np.random.random()
# 生成3 * 5 0-1随机浮点数
np.random.random((3, 5))
# 创建符合正态分布
np.random.normal()
np.random.normal(0, 1, (3, 5))
# 生成随机种子 如果规则一样,这生成的结果一样
np.random.seed(666)

1.4、数据访问

numpy.array 的数据访问, 在numpy中使用","做多维索引,每一个维度都可以进行切片处理,通过切片得到的数组,两个数组是关联关系,改变一个其他一个也会改变

X = np.arange(75).reshape((3,5,5))
X
x = np.arange(10)
# 多维数组访问
subX = X[0:2, 0:4:2, 0:2:2]
X[0,0,0] = 1000

1.5、合并和分割

1.5.1、合并

x = np.arange(8).reshape(-1,2,2,2)
y = np.full((1,2,2,2), 666)
np.concatenate([x,y],axis=2)
np.vstack([x,y])
A = np.arange(4).reshape(2,2)
B = np.full((2,2), 666)
np.concatenate([A,B],axis=0)
np.concatenate([A,B],axis=1)
np.vstack([A,B])
np.hstack([A,B])
np.stack([A,B], axis=0)
np.stack([A,B], axis=1)

1.4.2、拆分

x = np.arange(48).reshape(-1,2,2,3)
x1, x2, x3 = np.split(x, (1,3), axis=-1)

1.6、元素复制

x = np.arange(8).reshape(2,4)
y = np.full((2,4), 666)
x_copy = np.tile(x, (2,1))
y_copy = np.tile(y, (2,2))

2、plt画图工具

Matplotlib中应用最广的是matplotlib.pyplot模块,其绘制遵循以下流程:创建画布—(是否创建子图—选定子图)—添加标题、添加xy轴名称、修改xy轴刻度与范围—绘制图形—添加图例—完成绘制—保存图形—显示图形。

1.创建画布
首先构建一张空白画布,并可选择是否划分成多个画布。当只绘制一幅时,可省略该步骤。创建画布函数为:plt.figure()。

import numpy as np
import matplotlib.pyplot as plt
 
data=np.arange(0,1.1,0.01)
 
plt.title('lines')   #添加标题名称,可以指定位置、颜色、字体大小等参数
plt.xlabel('x')      #添加x轴名称,可以指定位置、颜色、字体大小等参数
plt.ylabel('y')      #添加y轴名称,可以指定位置、颜色、字体大小等参数
plt.xlim((0,1))      #指定x轴范围,只能确定一个数值区间,无法使用字符串标识
plt.ylim((0,1))      #指定y轴范围,只能确定一个数值区间,无法使用字符串标识
plt.xticks([0,0.2,0.4,0.6,0.8,1])  #指定x轴刻度的数目与取值
plt.yticks([0,0.2,0.4,0.6,0.8,1])  #指定y轴刻度的数目与取值
plt.plot(data,data**2)             #绘图函数y=x^2
plt.plot(data,data**4)             #绘图函数y=x^4
plt.legend(['y=x^2'])              #指定当前图形的图例,可以指定图例的大小、位置、标签等
plt.savefig('.../a.png')           #保存绘制的图形路径,可以指定图形的分辨率、边缘的颜色等参数
plt.show()                         #在本机显示图形

2.创建子图
创建子图函数:figure.add_subplot() ,代码如下:


import numpy as np
import matplotlib.pyplot as plt
 
x1=np.arange(0,np.pi*2,0.01)
 
#第一幅子图
p1=plt.figure(figsize=(8,6),dpi=80) #第一幅子图,并确定画布大小
ax1=p1.add_subplot(2,2,1)           #创建一个2行1列的子图,并开始绘制第一幅
 
plt.title('lines')                  #添加标题名称,可以指定位置、颜色、字体大小等参数
plt.xlabel('x')                     #添加x轴名称,可以指定位置、颜色、字体大小等参数
plt.ylabel('y')                     #添加y轴名称,可以指定位置、颜色、字体大小等参数
plt.xlim((0,1))                     #指定x轴范围,只能确定一个数值区间,无法使用字符串标识
plt.ylim((0,1))                     #指定y轴范围,只能确定一个数值区间,无法使用字符串标识
plt.xticks([0,0.2,0.4,0.6,0.8,1])   #指定x轴刻度的数目与取值
plt.yticks([0,0.2,0.4,0.6,0.8,1])   #指定y轴刻度的数目与取值
plt.plot(x1,x1**2)                  #绘图函数y=x^2
plt.plot(x1,x1**4)                  #绘图函数y=x^4
plt.legend(['y=x^2','y=x^4'])       #指定当前图形的图例,可指定图例大小、位置、标签
 
#第二幅子图
ax2=p1.add_subplot(2,2,2)           #开始绘制第二幅
plt.title('sin\cos')
plt.xlabel('x')
plt.ylabel('y')
plt.xlim((0,np.pi*2))
plt.ylim((-1,1))
plt.xticks([0,np.pi/2,np.pi*1.5,np.pi*2])
plt.yticks([-1,-0.5,0,0.5,1])
plt.plot(x1,np.sin(x1))
plt.plot(x1,np.cos(x1))
plt.legend(['sin','cos'])
plt.show()

来源原文链接:https://blog.csdn.net/zm_1900/article/details/89059718
白嫖链接:
https://blog.csdn.net/weixin_44414948/article/details/109703153

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值