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

记录python听课笔记



一,矩阵

1.1矩阵创建

numpy矩阵和随机数 numpy.matrix
matrix(字符串/列表/元组/数组)
mat(字符串/列表/元组/数组)

import numpy as np
a=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 np
a1=np.mat([[0,1],[2,3]])
a2=np.mat([[1,1],[2,0]])
a3=a1*a2
print(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 np
a=np.random.rand(2,3)               #创建2*3的随机数组,取值是在[01]之间的均匀分布浮点数
b=np.random.uniform(1,5,(3,2))      #创建2*3的随机数组,取值是在[15]之间的均匀分布浮点数
c=np.random.randn(2,3)              #创建2*3的随机数组,符合标准正态分布
d=np.random.normal(0,1,(3,2))       #创建3*2的随机数组,符合正态分布均值0 方差1
print(a)
print(b)
print(c)
print(d)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2随机打乱顺序函数洗牌

np.random.shuffle(序列)

mport numpy as np
arr=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 plt
plt.figure(figsize=(3,2),facecolor="green")    #画布
plt.plot()                                     #空白图形
plt.show()                                     #显示

在这里插入图片描述

3.2划分子图

在这里插入图片描述
划分子图subplot(行数,列数,子图序号)

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

在这里插入图片描述

3.3绘制子图标题和总标题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import matplotlib.pyplot as plt
def 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 plt
import numpy as np
plt.rcParams["font.sans-serif"]="SimHei"          #黑体
plt.rcParams["axes.unicode_minus"]=False          #正常显示负号
n=1024                                            #随机点个数1024
x1=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 plt
import numpy as np
plt.rcParams["font.sans-serif"]="SimHei"          #黑体
n=24
y1=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 plt
import numpy as np
plt.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()       
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值