python库之numpy

NumPy - 简介

NumPy 是一个 Python 包。 它代表 “Numeric Python”。 它是一个由多维数组对象和用于处理数组的例程集合组成的库。

Numeric,即 NumPy 的前身,是由 Jim Hugunin 开发的。 也开发了另一个包 Numarray ,它拥有一些额外的功能。 2005年,Travis Oliphant 通过将 Numarray 的功能集成到 Numeric 包中来创建 NumPy 包。 这个开源项目有很多贡献者。

1、直线图

接下来我们要边学numpy库边和已学内容制作画图

 这是我们运行成功的直线图,我们看看代码如何实现的

import numpy as np
import matplotlib.pyplot as plt 
a=np.arange(10)  #从0-9,不包括10
plt.plot(a,a*1.5,'ro-',label='a')
plt.plot(a,a*2.5,'gx--',label='b')
plt.plot(a,a*3.5,'y*',label='c')
plt.plot(a,a*4.5,'bs-',label='d')
plt.plot(a,a*5.5,'mH--',label='e')
plt.savefig('../R&Q_pic/test2',dpi=600)
plt.legend()
plt.show()

2、曲线图

 

python numpy 中linspace函数
numpy提供linspace函数(有时也称为np.linspace)是python中创建数值序列工具。与Numpy arange函数类似,生成结构与Numpy 数组类似的均匀分布的数值序列。

通过定义均匀间隔创建数值序列。其实,需要指定间隔起始点、终止端,以及指定分隔值总数(包括起始点和终止点);最终函数返回间隔类均匀分布的数值序列。

学习了numpy.linspace之后,我们运用到实战中

import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0,10,1000)
y = np.sin(x)
z = np.cos(x**2)
plt.figure(figsize=(8,4))
plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)
plt.plot(x,z,'b--',label="$cos(x^2)$")
plt.xlabel("Time(s)")
plt.ylabel("Volt")
plt.title("Plot Test") 
plt.savefig('../R&Q_pic/test3',dpi=600)
plt.ylim(-1.2,1.2)
plt.legend()
plt.show()

3、sin,tan,cos,不规则图形

 

import numpy as np
import matplotlib.pyplot as plt

def f(t):
    return np.exp(-t)*np.cos(2*np.pi*t)

a=np.arange(0,5,0.02)

plt.subplot(322)
plt.plot(a,f(a))

plt.subplot(323)
plt.plot(a,np.cos(2*np.pi*a),'-.',color='r')
plt.subplot(324)
plt.plot(a,np.sin(2*np.pi*a),'--.',color='g')
plt.subplot(325)
plt.plot(a,np.tan(2*np.pi*a),'-.',color='m')

plt.savefig('../R&Q_pic/test4',dpi=600)
plt.show()

4、饼图

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['simhei']
labels = '教师','辅导员','实训室管理员','行政人员'
sizes =[79,26,10,8]
colors=['yellowgreen','gold','lightskyblue','red']
explode=(0,0.1,0,0.1)
plt.pie(sizes,explode=explode,labels=labels,colors=colors,autopct='%1.1f%%',shadow=True,startangle=90)
plt.savefig('../R&Q_pic/test5',dpi=600)
plt.axis('equal')
plt.show()


import matplotlib.pyplot as plt
labels=['Frogs','Hogs','Dogs','Logs']
sizes=[15,30,45,10]
explode=(0,0.01,0,0)
plt.pie(sizes,explode,labels,autopct='%1.1f%%',shadow=True,startangle=180)
plt.axis('equal')
plt.savefig('../R&Q_pic/test6',dpi=600)
plt.show()

 

 5、三维图

 

import numpy as np
import matplotlib.pyplot as plt

from mpl_toolkits.mplot3d import Axes3D

fig = plt.figure(figsize=(12,6))
ax = Axes3D(fig)

X,Y=np.mgrid[-3:3:100j,-3:3:100j]
Z =np.exp(-X**2 - Y**2)
surf=ax.plot_surface(X,Y,Z,
                     rstride=1,
                     cstride=1,
                     cmap=plt.get_cmap('rainbow'))
ax.set_zlim(-0.1,1)
ax.set_xlabel("X");ax.set_ylabel("Y");ax.set_zlabel("Z")
plt.title("$z=exp(-x^2/2-y^2/2)$的三维图形")
fig.colorbar(surf,shrink=0.5,aspect=5)
plt.savefig('../R&Q_pic/test7',dpi=600)
plt.show()

6、柱状图

 

import numpy as np
import matplotlib.pyplot as plt
datearr=['2018Y','2019Y','2020Y','2021Y']
num_masks=np.asarray([45.4,50,62.2,77])
plt.bar(datearr,num_masks,width=0.3)
plt.xlabel('2018年--2021年',fontproperties='SimHei',fontsize=10)
plt.ylabel('数量/亿只',fontproperties='SimHei',fontsize=10)
plt.title('2018年-2021年中国大陆地区口罩生产量',fontproperties='SimHei',fontsize=15)
plt.legend()
plt.savefig('../R&Q_pic/test8',dpi=600)
plt.show()

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值