Линии графика не отображаются - PullRequest
0 голосов
/ 25 апреля 2020

Всякий раз, когда я пытаюсь запустить этот код, строки графика не отображаются. У кого-нибудь есть идеи, почему? Это изображение моего кода тоже для справки

import numpy as np
import matplotlib.pyplot as plt
p1 = 1*(10**-3)
p2 = list(range(1,101))
newlist = []
for i in range(1,100):
    db = 10*np.log10(p2[i]/p1)
    plt.figure(1)
    plt.plot (db, p2[i], 'c')
    plt.title('Log-Linear Plot')
    plt.ylabel('Power')
    plt.xlabel('db')
    plt.grid
    plt.show()
    plt.grid(True)

for i in range(1,100):
    plt.figure(2)
    plt.semilogy(db, p2[i], 'r')
    plt.title('Linear Plot')
    plt.ylabel('Power in Watts')
    plt.xlabel('Power in Decibels')
    plt.show()
    plt.grid(True)

1 Ответ

0 голосов
/ 25 апреля 2020

Я думаю, что это, вероятно, то, что вы ищете.

Вы использовали l oop для обновления массива, но также имели plot и show в l oop, что бы создать много отдельных участков. Нет необходимости звонить по номеру plot, чтобы получилось из l oop.

Кроме того, однако, используя векторизацию Numpy, вам даже не нужно выполнять вычисления в l oop, поэтому я также убрал это, что не оставило l oop на все.

enter image description here

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...