Мне нужно построить таблицу рядом с графиком, и количество строк в ней не фиксировано, я имею в виду, иногда у меня будет 2 строки, а иногда у меня будет 5 или более строк.Сказав это, мне нужно построить таблицу, которая «соответствует» количеству строк для каждой ситуации.Мой вопрос: как исправить высоту строки таблицы, а также увеличить размер таблицы в зависимости от количества строк?т.е. для каждой новой строки высота таблицы увеличивается.Следуйте изображению, которое БПФ с одним пиком - таблица с 2 строками БПФ с четырьмя пиками - таблица с 5 строками Следуйте моему коду ниже:
import numpy as np
import scipy
import matplotlib.pyplot as plt
from pylab import *
import peakutils
a =0.5
#a =input("entre com o limite: ")
# Number of samplepoints
N = 600
# sample spacing
T = 1.0 / 800.0
x = np.linspace(0.0, N*T, N)
y1 = np.sin(50.0 * 2.0*np.pi*x) + 0.5*np.sin(80.0 * 2.0*np.pi*x)+ 0.7*np.sin(30.0 * 2.0*np.pi*x)+ 0.5*np.sin(10.0 * 2.0*np.pi*x)
#yf1 = scipy.fftpack.fft(y1)
yf1 = np.fft.fft(y1)
xf = np.linspace(0.0, 1.0/(2.0*T), N/2)
v1 = 2.0/N * np.abs(yf1[:N//2])
# Find peaks
indexes = peakutils.indexes(v1, thres = a , min_dist=1,thres_abs= True)
columns = ('Freq (Hz)','Amplitude')
table_vals = np.column_stack((xf[indexes],v1[indexes]))
table_vals = np.around(table_vals,decimals=2)
print table_vals
plt.figure(1)
plt.plot(xf,v1)
plt.scatter(xf[indexes],v1[indexes],color ='r')
plt.table(cellText= table_vals, colLabels=columns, rowLoc = 'right',colLoc='right',
colWidths = [0.3,0.3],bbox=[1.05,0.5,0.5,0.5],cellLoc = 'right')
plt.subplots_adjust(right=0.65)
#plt.subplots_adjust(bottom=0.3)
plt.xlabel('Freq(Hz)')
plt.ylabel('Amplitude')
plt.grid()
plt.show()