在python matplotlib中,我想根据两个变量z
和x
制作函数y
的二维颜色图。参数x
的范围远小于参数y
,因此它几乎是不可见的,这是我绘制的时间。我想保持每个x
和y
中的步骤数相同。如何重新调整x
的范围?以下是我编写的代码的一部分。
x1,y1,z1 = np.loadtxt("TDFD_Effectualness_etta_%s_%s.dat" % (waveform2, waveform1)).T #Transposed for easier unpacking
nrows, ncols = final_step_j-1, final_step_k-1
grid1 = z1.reshape((nrows, ncols))
plt.xlabel('eta')
plt.ylabel('M_chirp')
plt.imshow(grid1, extent=(x1.min(), x1.max(), y1.min(), y1.max()), origin='lower', vmin=-5, vmax=5,
interpolation='nearest',
cmap=cm.gist_rainbow)
fig1 = plt.gcf()
fig1.suptitle('Effectualness_etta of %s and %s' % (waveform1, waveform2))
plt.colorbar()
plt.draw()
fig1.savefig('/home/saeed/pycbc/test/plots/New_Effectualness_etta_%s_%s.pdf' % (waveform1, waveform2), dpi=100)
plt.imshow(grid2, extent=(x2.min(), x2.max(), y2.min(), y2.max()), origin='lower', vmin=-5, vmax=5,
interpolation='nearest',
cmap=cm.gist_rainbow)
close('all')
答案 0 :(得分:1)
我猜您正在尝试更改图像的纵横比。这可以使用aspect
imshow
关键字来完成
plt.imshow(grid1,
extent=(x1.min(), x1.max(), y1.min(), y1.max()),
origin='lower', vmin=-5, vmax=5, aspect='auto',
interpolation='nearest', cmap=cm.gist_rainbow)