我需要制作强度图。
我有三个从真实数据中导入的x,y,z值列表:x_list, y_list, z_list
。每个列表包含200个值。因此,每个x,y对都有一个相应的z值。
我在网上搜索了一些关于StackOverflow的另一个问题之后尝试了以下内容:
import numpy as np
import pylab as plt
data = np.loadtxt('data.d')
x_list = data[:,0]
y_list = data[:,1]
z_list = data[:,2]
from scipy.interpolate import interp2d
f = interp2d(x_list,y_list,z_list,kind="linear")
x_coords = np.arange(min(x_list),max(x_list)+1)
y_coords = np.arange(min(y_list),max(y_list)+1)
Z = f(x_coords,y_coords)
fig = plt.imshow(Z,
extent=[min(x_list),max(x_list),min(y_list),max(y_list)],
origin="lower")
fig.axes.set_autoscale_on(False)
plt.scatter(x_list,y_list,400,facecolors='none')
plt.show()
这使用插值,我不确定它正是我需要的。 有没有办法只绘制z的200个值,对应于200 x,y对,我有一个给定的值,没有插值?显然我仍然需要某种强度关系",我不能只有一个散点图而没有解释强度" 200 z值。