使用x,y和笛卡尔积数组绘制2D直方图。 (蟒蛇)

时间:2015-02-04 11:45:58

标签: python arrays matplotlib plot

我有三个数组,x和y数组表示二进制位的位置,而z数组是与每个二进制位置相关的概率的二维笛卡尔积数组。

我已经设法使用mathplotlib中的contourf绘制了这个:

plt.contourf(x, y, z, 25)
plt.show()

然而,由于我的x和y数据是分档而不是轮廓的位置,因此得到的图形并不完全准确。

我也尝试在mathplotlib中使用histogram2d,但我在使用笛卡尔积产品作为z(颜色)轴时遇到了麻烦。

我还应该注意到笛卡尔积不仅仅是一种产品,在我的例子中我进一步操纵它,但它的形状和与x和y的关系仍然是笛卡尔积的产品。

我是否遗漏了一些明显的东西,或者没有简单的方法将其作为我的数据现在的方式绘制为直方图?谢谢你的帮助!

我使用contourf的当前情节如下所示:http://imgur.com/mSw5PKx

虽然我想最终得到2d直方图(理想情况下)

相关数据的示例位于:http://pastebin.com/m54bfJ2A

1 个答案:

答案 0 :(得分:0)

也许您正在寻找:

plt.pcolormesh(x, y, z)

similar functions。例如:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(8)
y = np.arange(6)
xx, yy = np.meshgrid(x, y)
z = xx + yy

plt.pcolormesh(x, y, z, cmap='Blues')
plt.colorbar()
plt.show()

请注意plt.hist2d实际上计算直方图然后绘制它,而如果我理解正确,你只是想在这里绘制一个2D数组。这会回答你的问题吗?