나는 affraid이 소리는 멍청한 질문처럼 들리지만, 나는 내 인물 주변에 컬러 바를 코딩하는 데 어려움을 겪고있다. python에서 colorbar를 올바르게 추가하는 방법 2.7.2?
나는 문서와 예제 이런 종류의 읽기 시간이 좀 걸렸지 : 년 Colorbar (맵핑이, CAX = 없음, 도끼 = 없음, 진정한 = use_gridspec, ** kw)를 내가 필요한 것을 이해할 수 없다 그것을 작동하게합니다. 대부분이 오류가 발생합니다 : AttributeError : 'AxesSubplot'객체에 'autoscale_None'속성이 없습니다.
나중에 자세히 설명해 드리겠습니다. easiet/더 간단한 방법은 무화과를 따라 컬러 바를 튀기는데 자동으로 스케일을 조정합니다 (easiet 방법 인 경우). 아니면 이전에 내 값의 최대 값과 최대 값을 결정해야합니까?
도움 주셔서 감사합니다.
다음은 코드입니다 (그림 1 만 중요). 제대로 설계되지 않았습니다. 여기에 이전 파일의 데이터를로드하는 방법이 나와 있습니다.
from pylab import *
import matplotlib.animation as animation
from Tkinter import Tk
from tkFileDialog import askopenfilename
Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing
filename = askopenfilename() # show an "Open" dialog box and return the path to the selected file
with load(filename) as data:
XYslice = data['XYslice']
XZslice = data['XZslice']
target = data['target']
Over = data['Over']
wvl=data['wvl']
NA = data['NA']
Dt = data['t']
dz = data['dz']
Ntime,N,Nplans=shape(XZslice)
dxy=wvl/(2.0*NA)/Over
thebigone=max(XYslice[:,N/2,N/2])
XZslice[0,0,0]=thebigone
XYslice[0,0,0]=thebigone
fig=figure(1,figsize=(12,6))
ax1=fig.add_subplot(1,2,1)
xlabel(r"$x (\mu m)$")
ylabel(r"$y (\mu m)$")
ax2=fig.add_subplot(1,2,2)
xlabel(r"$x (\mu m)$")
ylabel(r"$z (\mu m)$")
I=zeros(shape(Dt))
dI=zeros(shape(Dt))
im1=ax1.imshow(XYslice[0,:,:],interpolation='none')#,extent=[-N*dxy/2.0,N*dxy/2.0,-N*dxy/2.0,N*dxy/2.0],cmap='hot')
im2=ax2.imshow(XZslice[0,:,:],interpolation='none')#,extent=[-N*dxy/2.0,N*dxy/2.0,-Nplans*dz/2.0,Nplans*dz/2.0],cmap='hot')
for ii in range(len(Dt)):
zedata=float64(((XYslice[ii,:,:]**2)[where(target==1)]).reshape(-1))
dI[ii]=(sqrt(var(zedata)))
I[ii]=(mean(zedata))
figure(2)
subplot(121)
plot(Dt,array(I),'o',Dt,array(dI))
grid('on')
subplot(122)
#plot(Dt,array(dI)/array(I))
xlabel('Dt ($\mu m^ 2$)')
grid('on')
#
def init():
im1.set_data(XYslice[0,:,:])
im2.set_data(XZslice[0,:,:])
return([im1,im2])
def animate(t):
im1.set_data(XYslice[t,:,:])
im2.set_data(XZslice[t,:,:])
return [im1,im2]
ani = animation.FuncAnimation(fig, animate, np.arange(len(Dt)),interval=250,
blit=True,init_func=init,repeat=True)
show()
아니요, 나중에 "세부 사항을 생각해 보지 않겠습니다". 자신이 가지고있는 코드를 이상적으로 [MCVE] (http://stackoverflow.com/help/mcve) 형태로 제공해주십시오. – Ffisegydd
답변은 상황에 따라 다릅니다. 모든 상황에 맞는 답은 없습니다. – unutbu
사람들이 코드를 추가했습니다! 감사 – Magea