plot - 在gnuplot中,python 与 splot pm3d映射是什么关系?

  显示原文与译文双语对照的内容

我有一个文件'数据',它是在gnuplot中为splot格式化的。


x1 y1 z11
x1 y2 z12
... 
x1 yn z1n
...
xn yn-1 znn-1
xn yn znn

在gnuplot中,我使用


set pm3d map
splot 'data' u 1:2:3

生成数据的热度图。

如何使用 plot 与 python 进行同样的操作?

时间: 作者:

假设我有列的x,y,z,上面有格式。


from numpy import *
from pylab import *

Z = z.reshape(nx,ny) # makes a (Zy,Zx) matrix out of z
T = Z.T # transposes the matrix (Zx,Zy)

imshow(T, aspect='auto', origin='lower', extent = ( x.min(), x.max(), y.min(), y.max()))
show()

这工作。

作者:

我正开始从gnuplot到 python的转变。 下面是使用 matplotlib/numpy的示例:


#!/usr/bin/env python

import matplotlib.pyplot as plt
import numpy as np

Z = np.arange(100).reshape(10,10)
plt.imshow(Z, interpolation='none')
plt.show()

你可以任意创建Z 矩阵,但它应该是 numpy array 。 命令 imshowmatshow 在matplotlib中相同,但 matshow 显示了带有y 轴的数据,默认情况下无插值。

我建议查看选项的选项,尤其是定义x 和y 范围的extent

如果你想自动定义你的范围,也是一个不错的选择。

作者:
...