python绘制图像中心坐标二维分布曲线
创始人
2025-05-29 04:20:34

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

数据和代码如下所示:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import xlrd
from scipy.stats import multivariate_normal
from mpl_toolkits.mplot3d import Axes3D
np.set_printoptions(suppress=True)# 根据均值、标准差,求指定范围的正态分布概率值
def normfun(x, mu, sigma):pdf = np.exp(-((x - mu)**2)/(2*sigma**2)) / (sigma * np.sqrt(2*np.pi))return pdf# 读取excel表格数据
data = xlrd.open_workbook("laserspot.xls")  # 打开excel文件
table1 = data.sheet_by_name('Sheet2')  # 通过excel里面的表名获取工作表
row1 = table1.row_values(0)  # 根据索引读取一行的数据,参数:行索引,开始列索引,结束列索引(不包含)
for i in range(len(row1)):  # 获取表头if row1[i] == 'U':oneindex1 = ielif row1[i] == 'V':oneindex2 = i# 获取U、V三列的数据
u = table1.col_values(oneindex1, 1)
v = table1.col_values(oneindex2, 1)
u = np.array(u)
v = np.array(v)mu1 = u.mean()
std1 = u.std()
mu2 = v.mean()
std2 = v.std()z=np.stack((u,v))
rou = np.cov(z)[0,1]
# print(rou)# 输出U的数据
x1 = np.arange(min(u), max(u), 0.001)
# 设定 y 轴,载入刚才的正态分布函数
y1 = normfun(x1, u.mean(), u.std())# 输出V的数据
x2 = np.arange(min(v), max(v), 0.001)
# 设定 y 轴,载入刚才的正态分布函数
y2 = normfun(x2, v.mean(), v.std())X, Y = np.meshgrid(x1, x2)
# 二维坐标数据
d = np.dstack([X,Y])
print(d)
# 计算二维联合高斯概率
Z = 1 / ( (2*np.pi) * std1 *std2 * np.sqrt(1-rou**2)) * np.exp((-( ((X - mu1)**2 / std1**2) - (2*rou*(X-mu1)*(Y-mu2)/std1*std2) + ((Y - mu2)**2 / std2**2) ))/(2*(1- rou**2)))'''绘制直方分布图'''
fig1 = plt.figure(figsize=(11, 10))
ax = fig1.add_subplot(2, 1, 1)
ax.plot(x1, y1)
ax.hist(u, bins=25, rwidth=0.8, density=True) # bins个柱状图,宽度是rwidth(0~1),=1没有缝隙
ax.set_title("U")
ax.set_xlabel('Coordinate')
ax.set_ylabel('probability')ax2 = fig1.add_subplot(2, 1, 2)
ax2.plot(x2, y2)
ax2.hist(v, bins=25, rwidth=0.8, density=True) # bins个柱状图,宽度是rwidth(0~1),=1没有缝隙
ax2.set_title('V')
ax2.set_xlabel('Coordinate')
ax2.set_ylabel('probability')
ax2.ticklabel_format(useOffset=False, style='plain')'''绘制二元高斯概率分布图'''
fig2 = plt.figure(figsize=(8,6))
ax = Axes3D(fig2)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow', alpha=0.8)
# ax.plot_trisurf(X, Y, Z, rstride=1, cstride=1, cmap='seismic', alpha=0.8)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.ticklabel_format(useOffset=False, style='plain')plt.show()

数据获取请点击此链接即可。

相关内容

热门资讯

苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
阿西吧是什么意思 阿西吧相当于... 即使你没有受到过任何外语培训,你也懂四国语言。汉语:你好英语:Shit韩语:阿西吧(아,씨발! )日...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...