4
我有以下數據如何用imshow()限制x軸的範圍?
1.105 0.919 0.842 0.715 0.704 0.752 0.827 1.049 0.584
0.998 0.931 0.816 0.787 0.803 0.856 0.782 0.872 0.710
1.268 1.189 1.036 0.984 0.847 0.948 1.083 0.864 0.792
,我與imshow()
結果繪製如下:
這裏是我的代碼:
from numpy import*
import matplotlib.cm as cm
import matplotlib.mlab as mlab
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable
shape=(3,9)
velocity=zeros(shape)
fig = plt.figure(figsize=(16, 12), dpi=100)
ax1 = fig.add_subplot(111,aspect='equal')
# ax1.set_yticks([int(100*j) for j in range(0,4)])
ax1.set_yticks([int(j) for j in range(0,4)])
ax1.set_xticks([int(j) for j in range(-4,5)])
for label in ax1.get_xticklabels() + ax1.get_yticklabels():
label.set_fontsize(15)
for tick in ax1.get_xticklines() + ax1.get_yticklines():
tick.set_markeredgewidth(2)
tick.set_markersize(6)
ax1.set_aspect("equal")
velocity=loadtxt("fieldvelocitybot-300-100-100_400.dat")
im = plt.imshow(velocity, cmap=cm.jet, interpolation='nearest',origin='lower',vmin=0,vmax=1.7, extent=[-4.50,4.50,0.,3.00])
divider = make_axes_locatable(ax1)
cax = divider.append_axes("right", size="2.5%", pad=0.3)
cb=plt.colorbar(im,cax=cax)
cb.set_label('Speed [$m/s$]')
plt.savefig("speed_400.png")
plt.close(fig)
我的問題是:如何顯示從-4到4的結果?直覺上我想到改變extent=[-4.00,4.00,0.,3.00]
,但是軸線剛剛移位。結果是這樣的: