我有一个文件'data',它被格式化为gnuplot中的splot。
x1 y1 z11
x1 y2 z12
...
x1 yn z1n
...
xn yn-1 znn-1
xn yn znn
在侏儒图中我使用
set pm3d map
splot 'data' u 1:2:3
来生成我的数据的热图。
我如何才能继续对python进行同样的规划呢?
发布于 2014-04-28 12:13:36
假设我有列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()
做这份工作。
发布于 2014-01-15 14:01:49
我刚刚开始自己从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数组。命令imshow
和matshow
在matplotlib中大致相同,但是matshow
显示的数据与y轴相反,默认情况下不进行插值。
我建议查看imshow
,特别是定义x和y范围的extent
。
如果您想自动定义范围,This answer也是一个很好的选择。
https://stackoverflow.com/questions/21135997
复制相似问题