我有两个不同长度的向量及其相应的概率。
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)
我想制作一个2D x和y,其中平面根据x和y的概率着色。
我坚持认为x和y的尺寸不同。但实质上,这应该只是提供像素'在x和y方向上有不同大小,没有? 任何建议都表示赞赏!
答案 0 :(得分:4)
extent=[x0, x1, y0, y1]
是覆盖this answer中的轴比例的一种方法。可能有更好或更好的方式。
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()
答案 1 :(得分:1)
x和y没有相同的维度是没有错的。大多数2D图不具有相同尺寸的两个轴。 Matplotlib应该处理这个问题。当您绘制它时,您在某个点上获取特定的x和y值,因此尺寸是相同的。