2013-06-23 4 views
0

Я пытаюсь построить несколько итераций функции в зависимости от параметра (альфа), и я хочу передать значение параметра на метку, чтобы метка выглядела как альфа = 0,5. Выполнять это нормально, но я хочу, чтобы альфа-параметр отображался с помощью истинной альфы, то есть символа LateX. Как я могу это достичь?Смешивание символа и конкатенации латекса в метке

Вот код:

#*************** 
#* Phase angle *  
#*************** 
def phase_angle(alpha,f_act,f_res): 
    phi = numpy.arctan2(2*alpha*(f_act/f_res),(1-(f_act/f_res)**2)) 

    return phi 
#************************** 
#* Setting the Parameters * 
#************************** 
f_min = 1 
f_max = 200 
f_eig = 75 
df=.1 
alpha =[0.01,0.05,0.5,1] 
#****************** 
#* Initialization * 
#****************** 
f = numpy.arange(f_min,f_max,df) 
Freq = f/f_eig 

#************************************ 
#* Plotting the curve for the phase * 
#************************************ 
# Publishable quality image 
ps.set_mode("beamer") 

# Plotting the curve for the kinematics 
fig = pylab.figure() 
host = fig.add_subplot(111) 
host.set_title('Typical phase response of a resonant system') 
for alpha_i in alpha: 
    Phase = phase_angle(alpha_i,f,f_eig) 
    host.plot(Freq, Phase, label='\alpha=' + str(alpha_i), linewidth=2) 
host.axvline(x=1, linewidth=1.5, color='b') 
host.set_xlabel(r"Adimensioned frequency $f$/$f_{wing}$ [$-$]") 
host.set_ylabel(r"Phase response $\phi$ [$rad$]") 
Phase_pi = Phase/numpy.pi 
y_tick = numpy.arange(0,1.5,0.5) 

y_label = [r"$0$", r"$+\frac{\pi}{2}$", r"$+\pi$"] 
host.set_yticks(y_tick*numpy.pi) 
host.set_yticklabels(y_label, fontsize=20) 
host.set_xlim(0,2.5) 
host.set_ylim(top=numpy.pi) 
pylab.legend(loc=0) 
pylab.tight_layout() 
pylab.show() 

Я думаю, что питон запутаться, когда дело доходит до конкатенации. Итак, любая идея?

ответ

2

enter image description here Используйте форматирование строк (и помните свой $)

for alpha_i in alpha: 
    Phase = phase_angle(alpha_i,f,f_eig) 
    host.plot(Freq, Phase, label=r'$\alpha = {0}$'.format(alpha_i), linewidth=2) 
+0

Спасибо! Это прекрасно – TazgerO