这是我的第一个Stack Overflow问题,如果这个问题的格式不符合Stack Overflow社区的约定,请原谅。
我的问题是,如何(如果可能)使用pyplot向现有的Python图形添加一条线?本质上,我想要完成的是编译和运行我的代码,并生成一个带有一条线的图形。然后,我想要做的是更改代码中的一些数据,编译并再次运行代码,然后让这次代码运行生成的代码行显示在已经存在的图形上。
fig=plt.figure(figsize=(20,10))
time= np.array(range(0, time_steps+1))
sigma_11=Q[:, :, :, 0]
sigma_22=Q[:, :, :, 1]
sigma_12=Q[:, :, :, 2]
vel_x=Q[:, :, :, 3]
vel_y=Q[:, :, :, 4]
stiffness_mat=np.mat([[lamda+2*mu, lamda, 0],
[lamda, lamda+2*mu, 0],
[0, 0, 2*mu]])
Energ_P=np.zeros((time_steps+1))
Energ_K=np.zeros((time_steps+1))
Energy_tot=np.zeros((time_steps+1))
for n in range(0, time_steps+1):
Energ_P[n]=(Energy_P(stiffness_mat, Q[:, :, n, 0:3]))
Energ_K[n]=(Energy_K(Q[:, :, n, 3:5]))
Energy_tot[n]=Energ_P[n]+Energ_K[n]
sub1=fig.add_subplot(1, 2, 1)
sub1.set_title('stress-time')
sub1.plot(time*del_t, sigma_11[bar_cells_x, bar_cells_y, :], label='stress_1')
sub1.plot(time*del_t, sigma_11[bar_cells_x/2, bar_cells_y/2, :], label='stress')
sub1.set_ylabel('sigma_11 [Pa]')
sub1.set_xlabel('time [s]')
sub1.legend(loc='best', fontsize='10')
plt.tight_layout()
plt.show()除了多次运行代码之外,我还没有尝试过太多方法来解决这个问题。然而,当我这样做时,我最终所做的就是生成多个图形。
发布于 2016-06-25 02:40:53
尝试向plt.figure添加num参数。换句话说,用fig=plt.figure(num=1, figsize=(20,10))替换fig=plt.figure(figsize=(20,10))。
从文件上看,
num :整数或字符串,可选,默认值:无
如果未提供,将创建新的地物,并且地物编号将递增。
https://stackoverflow.com/questions/38016070
复制相似问题