Python-从不同长度的向量绘制二维概率分布

Python-从不同长度的向量绘制二维概率分布,python,plot,2d,probability-density,Python,Plot,2d,Probability Density,我有两个不同长度的向量和它们对应的概率 import numpy as np x = np.arange(10)+1 y = np.arange(15)+10 px = np.random.normal(0.5,0.05,10) py = np.random.normal(0.5,0.05,15) 我想做一个x和y的二维图,平面是根据x和y的概率着色的 我被x和y不是同一维度的事实所困扰。但本质上,这应该只是在x和y方向上给出不同大小的“像素”,不是吗? 任何建议都将不胜感激 x和y不在同一

我有两个不同长度的向量和它们对应的概率

import numpy as np

x = np.arange(10)+1
y = np.arange(15)+10
px = np.random.normal(0.5,0.05,10)
py = np.random.normal(0.5,0.05,15)
我想做一个x和y的二维图,平面是根据x和y的概率着色的

我被x和y不是同一维度的事实所困扰。但本质上,这应该只是在x和y方向上给出不同大小的“像素”,不是吗?
任何建议都将不胜感激

x和y不在同一维度上没有什么错。大多数二维绘图的两个轴的尺寸不相同。Matplotlib应该可以处理这个问题。当你绘制它时,你在一个点上取x和y的特定值,因此尺寸是相同的。

x和y不在同一尺寸上没有什么错。大多数二维绘图的两个轴的尺寸不相同。Matplotlib应该可以处理这个问题。当你绘制它时,你在一个点上取x和y的特定值,所以尺寸是相同的。

你是说这种东西吗<代码>范围=[x0,x1,y0,y1]是覆盖轴比例的一种方法,可在中找到。可能有更好或更好的方法

import numpy as np
import matplotlib.pyplot as plt


x = np.arange(10)+1
y = np.arange(15)+10
px = np.random.normal(0.5,0.05,10)
py = np.random.normal(0.5,0.05,15)

p = px[None,:]*py[:,None]

plt.figure(figsize=[10,6])

plt.subplot(1,2,1)
plt.imshow(p, origin='lower', extent=[1,10, 10,24])
plt.colorbar()

plt.subplot(1,2,2)
plt.imshow(p, cmap='gray', vmin=0.1, vmax=0.4, interpolation=None,
           origin='lower', extent=[1,10, 10,24] )

plt.colorbar()

plt.savefig("twoDp")

plt.show()

你是说这种事吗<代码>范围=[x0,x1,y0,y1]是覆盖轴比例的一种方法,可在中找到。可能有更好或更好的方法

import numpy as np
import matplotlib.pyplot as plt


x = np.arange(10)+1
y = np.arange(15)+10
px = np.random.normal(0.5,0.05,10)
py = np.random.normal(0.5,0.05,15)

p = px[None,:]*py[:,None]

plt.figure(figsize=[10,6])

plt.subplot(1,2,1)
plt.imshow(p, origin='lower', extent=[1,10, 10,24])
plt.colorbar()

plt.subplot(1,2,2)
plt.imshow(p, cmap='gray', vmin=0.1, vmax=0.4, interpolation=None,
           origin='lower', extent=[1,10, 10,24] )

plt.colorbar()

plt.savefig("twoDp")

plt.show()

非常感谢!这就是我要找的。干杯谢谢!这就是我要找的。干杯