Я думаю, что это, вероятно, то, что вы ищете.
Вы использовали l oop для обновления массива, но также имели plot
и show
в l oop, что бы создать много отдельных участков. Нет необходимости звонить по номеру plot
, чтобы получилось из l oop.
Кроме того, однако, используя векторизацию Numpy, вам даже не нужно выполнять вычисления в l oop, поэтому я также убрал это, что не оставило l oop на все.
![enter image description here](https://i.stack.imgur.com/6wSQv.png)
p1 = 1*(10**-3)
p2 = np.arange(1,101)
newlist = []
db = 10*np.log10(p2/p1)
plt.plot (db, p2, 'c')
plt.title('Log-Linear Plot')
plt.ylabel('Power')
plt.xlabel('db')
plt.grid(True)
plt.show()
plt.figure(2)
plt.semilogy(db, p2, 'r')
plt.title('Linear Plot')
plt.ylabel('Power in Watts')
plt.xlabel('Power in Decibels')
plt.grid(True)
plt.show()