我正在尝试使用 matplotlib 库(迄今为止我知道的唯一一个)绘制二维矩阵。但是,函数 matplotlib.pyplot.imshow(matrix)
假定数据沿每个轴等距分布,而我想要绘制的数据不是。我的数据如下:矩阵的第一列是 x=0 行的数据,第二列的数据是 x=1.27 行而不是 x=1,第三列的数据是 x=1.42 行而不是 x=2等等。
顺便说一句,数据沿 y 轴等距分布。
所以我想知道我是否可以按照我希望的方式绘制它?提前感谢您的宝贵时间和帮助!
------ 编程新手
更新: 首先感谢大家的建议!我已经尝试了这些方法,这里是输出:
这是 contourf
绘制的图表,与我预期的不同。 pcolormesh
也没有提供理想的输出。
我要绘制的是代表地下结构的地震轨迹数据。我希望绘制这样的东西:
如果有任何关于如何做到这一点的建议,请给我提示!非常感谢!
最佳答案
我建议您使用函数 pcolormesh
。
您只需相应地输入在一维数组 x、y 和二维数据中定义的间隔。下面是一个简单的例子。
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
。
干杯
关于python - 如何使用 Python 绘制其数据沿 x 轴分布不均匀的二维矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26696565/