我有三个数组,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
答案 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数组。这会回答你的问题吗?