使用 x、y 和笛卡尔积数组绘制二维直方图。 (Python)
Plotting a 2D histogram using x, y and a cartesian product array. (Python)
我有三个数组,x 和 y 数组表示 bin 的位置,而 z 数组是与每个 bin 位置相关联的概率的二维笛卡尔积数组。
我已经设法使用 mathplotlib 中的 contourf 绘制了这个:
plt.contourf(x, y, z, 25)
plt.show()
然而,由于我的 x 和 y 数据是 bin 的位置而不是等高线,因此生成的图表并不完全准确。
我也试过在 mathplotlib 中使用 histogram2d,但我在使用笛卡尔积数组作为 z(颜色)轴时遇到了问题。
我还应该注意到,笛卡尔积不仅仅是一个乘积,在我的例子中,我进一步操纵了它,但它的形状和与 x 和 y 的关系仍然与笛卡尔积相同。
我是不是遗漏了一些明显的东西,或者没有简单的方法可以按照我现在的数据将其绘制成直方图?感谢您的帮助!
我当前使用 contourf 的绘图如下所示:http://imgur.com/mSw5PKx
虽然我想以二维直方图结束(理想情况下)
相关数据的样本位于此处:http://pastebin.com/m54bfJ2A
也许您正在寻找:
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
实际上是计算一个直方图然后绘制它,而如果我理解正确的话,您只是想在这里绘制一个二维数组。这是否回答了您的问题?
我有三个数组,x 和 y 数组表示 bin 的位置,而 z 数组是与每个 bin 位置相关联的概率的二维笛卡尔积数组。
我已经设法使用 mathplotlib 中的 contourf 绘制了这个:
plt.contourf(x, y, z, 25)
plt.show()
然而,由于我的 x 和 y 数据是 bin 的位置而不是等高线,因此生成的图表并不完全准确。
我也试过在 mathplotlib 中使用 histogram2d,但我在使用笛卡尔积数组作为 z(颜色)轴时遇到了问题。
我还应该注意到,笛卡尔积不仅仅是一个乘积,在我的例子中,我进一步操纵了它,但它的形状和与 x 和 y 的关系仍然与笛卡尔积相同。
我是不是遗漏了一些明显的东西,或者没有简单的方法可以按照我现在的数据将其绘制成直方图?感谢您的帮助!
我当前使用 contourf 的绘图如下所示:http://imgur.com/mSw5PKx
虽然我想以二维直方图结束(理想情况下)
相关数据的样本位于此处:http://pastebin.com/m54bfJ2A
也许您正在寻找:
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
实际上是计算一个直方图然后绘制它,而如果我理解正确的话,您只是想在这里绘制一个二维数组。这是否回答了您的问题?