我正在尝试使用matplotlib库(目前为止我唯一知道的)绘制2D矩阵。但是,函数matplotlib.pyplot.imshow(matrix)
假定数据沿每个轴等间隔,而我想绘制的数据不是。我的数据看起来如下:矩阵的第一列是x = 0行的数据,第二列的数据是x = 1.27而不是x = 1,第三列的数据是x = 1.42而不是x = 2等等。
所以我想知道无论如何我都可以按照我希望的方式进行策划?感谢您的时间和善意的帮助!
------编程中的新手
更新: 首先,谢谢大家的建议!我试过这些方法,这里是输出:
这是contourf
绘制的图表,与我的预期不符。 pcolormesh
也没有给出理想的输出。
我想绘制的是代表地下结构的地震痕迹数据。我希望这样的事情:
如果对我如何做到这一点有任何建议,请给我一个提示!非常感谢你!
答案 0 :(得分:1)
我建议你使用函数pcolormesh
。
您只需输入1D数组x,y和2D数据中定义的间隔。下面是一个简单的例子。
from pylab import *
x = logspace(log10(1),log10(100),11)
y = linspace(1,100,21)
data = rand(20,10)
pcolormesh(x,y,data)
show()
请注意,x和y有一个额外的点。在这种情况下,data
填充x和y定义的区间。否则,您可以使用函数contourf
。
干杯
答案 1 :(得分:0)