Mam dwie niezgrabne tablice (a i b) o kształcie (16, 850) każdy. Wyświetlam je wiersz po wierszu, np.
plt.figure()
plt.plot(a[0], b[0])
plt.plot(a[1], b[1])
plt.plot(a[2], b[2])
...
plt.show()
Czy powinienem użyć pętli for, aby zrobić to w bardziej pytonowy sposób?
Odpowiedzi:
3 dla odpowiedzi № 1Możesz przekazać tablicę wielowymiarową do plot
a każda kolumna zostanie utworzona jako oddzielny obiekt wydruku. Dokonujemy transpozycji obu danych wejściowych tak, aby każdy wiersz był drukowany osobno.
a = np.random.rand(16, 850)
b = np.random.rand(16, 850)
plt.plot(a.T, b.T)
plt.show()
0 dla odpowiedzi nr 2
To zadziała:
plt.figure()
for i in range(len(a)):
plt.plot(a[i], b[i])
plt.show()
Ale sposób, w jaki pokazuje Suever, jest dużo Pythoniczny. Jednak nie każda funkcja ma coś takiego wbudowanego.