如何使用matplotlib在空窗口中填充图形



此代码只提供一个空窗口。我试着用两条线画一张图。有没有办法把图形附加到窗口上?谢谢

import matplotlib.pyplot as plt
import numpy as np
alpha =np.deg2rad(np.linspace(0,180,1000))
sigma_1=190 #kPa
sigma_3=145 #kPa
sigma_delta=(sigma_1+sigma_3)/2 + ( (sigma_1-sigma_3)/2 ) * np.cos(2*alpha) #kPa
def sigma_alpha(s1,s3,a): 
return (  (s1+s3)/2 + ( (s1-s3)/2 ) * np.cos(2*alpha)  )
def tau_alpha(s1,s3,a):
return (( (s1-s3)/2 )*np.sin(2*alpha) )
plt.figure(figsize=(18,10))
plt.plot(alpha, sigma_alpha(sigma_1, sigma_3, alpha), label=r'$sigma_{$alpha$}$', linewidth=3, color='green') 
plt.plot(alpha, tau_alpha(sigma_1, sigma_3, alpha), label = r'$tau_{$alpha$}$', linewidth=3, color='red') 
plt.xlabel('Angle $alpha$ [u"N{DEGREE SIGN}"]')
plt.ylabel('Spenning[kPa]')
plt.title('Spenningsvariasjon for plan $alpha$ = 0-180')
plt.legend(loc=5, framealpha=1, prop={'size':18})
plt.grid()
plt.minorticks_on()
plt.grid(b=None, which='both', axis='x', linewidth=0.5, linestyle='-')
plt.grid(b=None, which='both', axis='y', linewidth=0.5, linestyle='-')
plt.show()

由于'plt.xlabel'行中的错误,您得到了一个空的绘图。特殊符号$导致问题。如果你把它读成一个原始字符串,它应该是固定的:

import matplotlib.pyplot as plt
import numpy as np
alpha =np.deg2rad(np.linspace(0,180,1000))
sigma_1=190 #kPa
sigma_3=145 #kPa
sigma_delta=(sigma_1+sigma_3)/2 + ( (sigma_1-sigma_3)/2 ) * np.cos(2*alpha) #kPa
def sigma_alpha(s1,s3,a): 
return (  (s1+s3)/2 + ( (s1-s3)/2 ) * np.cos(2*alpha)  )
def tau_alpha(s1,s3,a):
return (( (s1-s3)/2 )*np.sin(2*alpha) )
plt.figure(figsize=(18,10))
plt.plot(alpha, sigma_alpha(sigma_1, sigma_3, alpha), label=r'$sigma_{$alpha$}$', linewidth=3, color='green') 
plt.plot(alpha, tau_alpha(sigma_1, sigma_3, alpha), label = r'$tau_{$alpha$}$', linewidth=3, color='red') 
plt.xlabel(r'Angle $alpha$ [circ]$')
plt.ylabel('Spenning[kPa]')
plt.title('Spenningsvariasjon for plan $alpha$ = 0-180')
plt.legend(loc=5, framealpha=1, prop={'size':18})
plt.grid()
plt.minorticks_on()
plt.grid(b=None, which='both', axis='x', linewidth=0.5, linestyle='-')
plt.grid(b=None, which='both', axis='y', linewidth=0.5, linestyle='-')
plt.show()

请注意,我已将N_DEGREES更改为circ,以获得标签中的角度字符。

最新更新