300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python笔记4(矩阵和随机数 matplotlib绘图基础散点图折线图柱状图)

python笔记4(矩阵和随机数 matplotlib绘图基础散点图折线图柱状图)

时间:2018-08-26 15:23:49

相关推荐

python笔记4(矩阵和随机数 matplotlib绘图基础散点图折线图柱状图)

记录python听课笔记

文章目录

记录python听课笔记一,矩阵1.1矩阵创建1.2矩阵运算 矩阵的乘法 矩阵转置T 矩阵求逆I二,随机数2.1随机数模块 numpy.random2.2随机打乱顺序函数洗牌三, Matplotlib绘图基础3.1Figure 对象:创建画布3.2划分子图3.3绘制子图标题和总标题3.4绘制散点图3.5绘制折线图3.6绘制柱状图


一,矩阵

1.1矩阵创建

numpy矩阵和随机数 numpy.matrix

matrix(字符串/列表/元组/数组)

mat(字符串/列表/元组/数组)

import numpy as npa=np.mat('1 2 3;4 5 6') #字符串参数 不同行用;隔开 不同元素用 隔开print(a)b=np.mat([[1,2,3],[4,5,6]])#用列表创建矩阵print(b)c=np.array([[1,2,3],[4,5,6]])m=np.mat(c)print(type(c),type(m))print(m.ndim,m.shape,m.size)

1.2矩阵运算 矩阵的乘法 矩阵转置T 矩阵求逆I

import numpy as npa1=np.mat([[0,1],[2,3]])a2=np.mat([[1,1],[2,0]])a3=a1*a2print(a3)n=np.mat([[1,2],[-1,-3]])print(n.T)print(n.I)print(n*n.I)#非方阵的转置和求逆a=np.array([[1,2,3],[4,5,6]])m=np.mat(a)print(m.T)print(m.I)

二,随机数

2.1随机数模块 numpy.random

import numpy as npa=np.random.rand(2,3)#创建2*3的随机数组,取值是在[0,1]之间的均匀分布浮点数b=np.random.uniform(1,5,(3,2))#创建2*3的随机数组,取值是在[1,5]之间的均匀分布浮点数c=np.random.randn(2,3) #创建2*3的随机数组,符合标准正态分布d=np.random.normal(0,1,(3,2)) #创建3*2的随机数组,符合正态分布均值0 方差1print(a)print(b)print(c)print(d)

2.2随机打乱顺序函数洗牌

np.random.shuffle(序列)

mport numpy as nparr=np.arange(10)print(arr)np.random.shuffle(arr)#一维数组打乱print(arr)b=np.arange(12).reshape(4,3) #二维数组打乱 行间顺序打乱np.random.shuffle(b) print(b)

三, Matplotlib绘图基础

3.1Figure 对象:创建画布

import matplotlib.pyplot as pltplt.figure(figsize=(3,2),facecolor="green") #画布plt.plot() #空白图形plt.show() #显示

3.2划分子图

划分子图subplot(行数,列数,子图序号)

import matplotlib.pyplot as pltdef foursubplot():for i in range(1,5):plt.subplot(2,2,i) #当各参数小于10中间的,可以省略写成(224)plt.show()foursubplot()

3.3绘制子图标题和总标题

import matplotlib.pyplot as pltdef plottitle():plt.rcParams["font.sans-serif"]="SimHei"plt.figure(facecolor="lightgrey")plt.subplot(2,2,1)plt.title("子标题1")plt.subplot(2,2,2)plt.title("子标题2",loc="left",color="b") #子标题2左对齐蓝色plt.subplot(2,2,3)myfontdict={"fontsize":12,"color":"g","rotation":30}#建立一个字典来写入子标题三的格式plt.title("子标题3",fontdict=myfontdict)plt.subplot(2,2,4)plt.title("子标题4",color="w",backgroundcolor="black")plt.suptitle("全局标题",fontsize=20,color="red",backgroundcolor="yellow") plt.tight_layout(rect=[0,0,1,0.9]) #设置子图区域避免全局标题对子图的覆盖plt.show() plottitle()

3.4绘制散点图

import matplotlib.pyplot as pltimport numpy as npplt.rcParams["font.sans-serif"]="SimHei"#黑体plt.rcParams["axes.unicode_minus"]=False#正常显示负号n=1024 #随机点个数1024x1=np.random.normal(0,1,n)#生成数据点x坐标 标准正态分布y1=np.random.normal(0,1,n)#生成数据点x坐标x2=np.random.uniform(-4,4,(1,n))y2=np.random.uniform(-4,4,(1,n))plt.scatter(x1,y1,color="blue",marker="*",label="正态分布")#绘制散点图plt.scatter(x2,y2,color="yellow",marker="o",label="均匀分布") #均匀分布的散点图 plt.legend() #显示图例 参数为空默认为右上角plt.title("标准正态分布",fontsize=20) #设置标题plt.text(2.5,2.5,"均值:0\n标准差:1") #显示文本plt.xlim(-4,4)#设置x轴的范围plt.ylim(-4,4)#设置y轴的范围plt.xlabel('横坐标x',fontsize=14) #设置x轴标签文本plt.ylabel('纵坐标y',fontsize=14) #设置y轴标签文本plt.show()#显示绘图

3.5绘制折线图

import matplotlib.pyplot as pltimport numpy as npplt.rcParams["font.sans-serif"]="SimHei"#黑体n=24y1=np.random.randint(27,37,n)y2=np.random.randint(40,60,n)plt.plot(y1,label="温度")#没有设置颜色 plt.plot(y2,label="湿度")#系统自动分配不同的颜色plt.xlim(0,23)#设置x轴的范围plt.ylim(20,70)#设置y轴的范围plt.xlabel('小时',fontsize=14)#设置x轴标签文本plt.ylabel('测量值',fontsize=14) #设置y轴标签文本plt.title("24小时温度湿度统计",fontsize=20) #设置标题plt.legend() #显示图例 参数为空默认为右上角plt.show()#显示绘图

3.6绘制柱状图

import matplotlib.pyplot as pltimport numpy as npplt.rcParams["font.sans-serif"]="SimHei"#黑体plt.rcParams["axes.unicode_minus"]=False#正常显示负号y1=[32,25,16,30,24,45,40,33,28,17,24,20]y2=[-23,-35,-26,-35,-45,-43,-35,-32,-23,-17,-22,-28]plt.bar(range(len(y1)),y1,width=0.8,facecolor="green",edgecolor="white",label="统计量1")plt.bar(range(len(y2)),y2,width=0.8,facecolor="red",edgecolor="white",label="统计量2")plt.title("柱状图",fontsize=20) #设置标题plt.legend() #显示图例 参数为空默认为右上角plt.show()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。