python - 如何使用 Python 绘制其数据沿 x 轴分布不均匀的二维矩阵?

标签 python matplotlib plot imshow

我正在尝试使用 matplotlib 库(迄今为止我知道的唯一一个)绘制二维矩阵。但是,函数 matplotlib.pyplot.imshow(matrix) 假定数据沿每个轴等距分布,而我想要绘制的数据不是。我的数据如下:矩阵的第一列是 x=0 行的数据,第二列的数据是 x=1.27 行而不是 x=1,第三列的数据是 x=1.42 行而不是 x=2等等。

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

所以我想知道我是否可以按照我希望的方式绘制它?提前感谢您的宝贵时间和帮助!

------ 编程新手

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

这是 contourf 绘制的图表,与我预期的不同。 pcolormesh 也没有提供理想的输出。 我要绘制的是代表地下结构的地震轨迹数据。我希望绘制这样的东西: enter image description here

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

最佳答案

我建议您使用函数 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/

相关文章:

python - matplotlib:渲染到缓冲区/访问像素数据

r - 如何将 2D 图像投影为 3D 散点图中的表面(在 R 中)?

python - 能够删除具有特定对象标签 tkinter 的所有项目

python - 将 df1 列值替换为 df2 列值 - df-1 column-3 的值是 df-2 的列

python - 在安装过程中复制配置文件的正确方法?

javascript - HTML 页面永远不会停止加载

python - 如何关闭一个图形或替换一个图形而不必手动关闭 Python/pylab 中的每个图形?

python - 重定向 FD 后如何写入标准输出

python - 将 CSV 文件传输到 Python 列表

python - 多个拾取事件干扰