Python - как исправить высоту строки таблицы и увеличить размер таблицы в зависимости от количества строк с помощью PLT.TABLE?

Мне нужно построить таблицу рядом с графиком, и количество строк не фиксировано, я имею в виду, что иногда у меня будет 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()

Последнее число в bbox (здесь 0.5) - это высота стола. Вы можете сделать это пропорционально количеству строк. В простейшем случае, например, 0.1*table_vals.shape[0].

ImportanceOfBeingErnest 29.09.2018 18:19

Спасибо за ответ. Вы знаете, как выровнять таблицу с графиком? Я имею в виду, в зависимости от количества строк таблица идет вверх или вниз ...

Jose Guilherme 15.10.2018 17:26

Не уверен, что вы имеете в виду. Вы попробовали мое предложение?

ImportanceOfBeingErnest 15.10.2018 18:03

Ваше предложение сработало очень хорошо ... У меня больше нет проблем с размером таблицы и строк. Теперь у меня проблема с расположением таблицы, я имею в виду, что в зависимости от того, сколько строк имеет таблица, положение таблицы меняется от одного случая к другому .... когда у меня больше строк (например, 6 строк или более ), Я не вижу первые строки таблицы.

Jose Guilherme 15.10.2018 23:17

Я думаю, вы имеете в виду обратное? А именно, что позиция остается прежней, но вы хотите ее изменить? Например. вы можете установить его так, чтобы значение y было равно 1 высоте, чтобы он выглядел так, как будто он закреплен сверху.

ImportanceOfBeingErnest 16.10.2018 01:57

Точно. Вы знаете, как я могу это сделать?

Jose Guilherme 16.10.2018 21:03

Как сказано, если высота стола, например, 0.1*table_vals.shape[0], тогда позиция таблицы может быть установлена ​​на 1.0 - 0.1*table_vals.shape[0].

ImportanceOfBeingErnest 17.10.2018 01:16
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
7
1 930
0

Другие вопросы по теме