如何使用Python绘制数据沿x轴不等间距的2D矩阵?

时间:2014-11-02 06:10:35

标签: python matplotlib plot imshow

我正在尝试使用matplotlib库(目前为止我唯一知道的)绘制2D矩阵。但是,函数matplotlib.pyplot.imshow(matrix)假定数据沿每个轴等间隔,而我想绘制的数据不是。我的数据看起来如下:矩阵的第一列是x = 0行的数据,第二列的数据是x = 1.27而不是x = 1,第三列的数据是x = 1.42而不是x = 2等等。

BTW,数据沿y轴等间隔。

所以我想知道无论如何我都可以按照我希望的方式进行策划?感谢您的时间和善意的帮助!

------编程中的新手

更新: 首先,谢谢大家的建议!我试过这些方法,这里是输出: enter image description here

这是contourf绘制的图表,与我的预期不符。 pcolormesh也没有给出理想的输出。 我想绘制的是代表地下结构的地震痕迹数据。我希望这样的事情: enter image description here

如果对我如何做到这一点有任何建议,请给我一个提示!非常感谢你!

2 个答案:

答案 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)

你想要填充轮廓......

这些示例应该可以帮助您入门。如果您有特定问题,请告诉我们。