3

我正在尝试使用 matplotlib 库(目前我知道的唯一一个)绘制一个二维矩阵。但是,该函数matplotlib.pyplot.imshow(matrix)假定数据沿每个轴等距分布,而我要绘制的数据不是。我的数据看起来像:矩阵的第一列是第 x=0 行的数据,第二列的数据在第 x=1.27 行而不是 x=1 上,第三列的数据在第 x=1.42 行但不是 x=2等等。

顺便说一句,数据沿 y 轴等距分布。

所以我想知道是否有任何方法可以按照我希望的方式进行绘制?提前感谢您的时间和善意的帮助!

------ 编程新手

更新:首先感谢大家的建议!我已经尝试了这些方法,以下是输出: 在此处输入图像描述

这是绘制的图表,contourf与我预期的不符。pcolormesh也没有给出理想的输出。我试图绘制的是代表地下结构的地震轨迹数据。我希望绘制这样的东西: 在此处输入图像描述

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

4

2 回答 2

3

我建议您使用该功能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

干杯

于 2014-11-02T07:43:06.740 回答
0

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

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

于 2014-11-02T07:08:45.213 回答