Я ищу способ добавления столбцов, которые могут охватывать несколько строк, и строк, которые могут охватывать несколько столбцов.
В настоящее время у меня есть код ниже, чтобы получить первую строку в .
Однако мне нужно добавить в таблицу еще одну строку, в которой несколько столбцов будут охватывать следующую строку. А ячейки в текущей строке должны будут охватывать несколько столбцов. Вот так:
Предпочтительно, чтобы нижняя строка была верхней, но не катастрофа.
Я пробовал сделать это в одиночку и получить помощь от GitHub CoPilot и MS CoPilot. Однако, безуспешно, лучшее, что мы смогли придумать, это следующее:
РЕДАКТИРОВАТЬ:
Мне удалось избавиться от ошибки. Это было вызвано определением переменной col_widths, в которой я заполнял ее списками вместо соответствующих значений.
Сейчас я определил ее так, возможно, позже найду лучшее решение для этой проблемы.
Моя таблица теперь выглядит так:
< /p>
Хотя я не понял, как объединить строки и ячейки.
Я нашел этот пост: Таблица Matplotlib с двойными заголовками
Где создано несколько таблиц для отображения несколько заголовков. Но, к сожалению, это не сработает для объединения ячеек в столбце и только в строке.
Я ищу способ добавления столбцов, которые могут охватывать несколько строк, и строк, которые могут охватывать несколько столбцов. В настоящее время у меня есть код ниже, чтобы получить первую строку в . [code]# Calculate log-scaled widths table_widths = [0.001, 0.002, 0.063, 2.0, 63.0, 150.0] log_table_widths = np.diff(np.log10(table_widths)) log_table_widths = log_table_widths / log_table_widths.sum()
# Normalize widths to sum to 1 log_table_widths = log_table_widths / log_table_widths.sum()
table = ax.table(cellText=[['Clay', 'Silt', 'Sand', 'Gravel', 'Cobbles']], cellLoc='center', loc='bottom', colWidths=log_table_widths) table_widths = [] table.auto_set_font_size(False) table.set_fontsize(8) table.scale(1, 1.5) [/code] Чтобы получить следующий результат: [img]https://i.sstatic.net/YfNkfzx7.png[/img]
Однако мне нужно добавить в таблицу еще одну строку, в которой несколько столбцов будут охватывать следующую строку. А ячейки в текущей строке должны будут охватывать несколько столбцов. Вот так: [img]https://i.sstatic.net/CN3Vptrk.png[/img] Предпочтительно, чтобы нижняя строка была верхней, но не катастрофа. Я пробовал сделать это в одиночку и получить помощь от GitHub CoPilot и MS CoPilot. Однако, безуспешно, лучшее, что мы смогли придумать, это следующее: [code]# Calculate log-scaled widths table_widths = [0.001, 0.002, 0.063, 2.0, 63.0, 150.0] log_table_widths = np.diff(np.log10(table_widths)) log_table_widths = log_table_widths / log_table_widths.sum()
# Normalize widths to sum to 1 log_table_widths = log_table_widths / log_table_widths.sum()
# Add the table to the plot table = ax.table(cellText=cell_text, colLabels=col_labels, cellLoc='center', loc='bottom', colWidths=col_widths) table.auto_set_font_size(False) table.set_fontsize(8) table.scale(1, 1.5)
# Adjust cell alignment to avoid ambiguity for key, cell in table.get_celld().items(): cell.set_text_props(ha='center', va='center') [/code] Выдает следующую ошибку: [code]ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all() [/code] Не знаю, как это решить. Для воспроизводимости вы можете использовать: [code]fig, ax = plt.subplots() fig.set_figwidth(18) fig.set_figheight(12) fig.set_dpi(80) # draw vertical line at: 0.002mm, 0.063mm, 2.0mm, 63mm ax.axvline(x=0.002, color='red', linestyle='--') ax.axvline(x=0.063, color='red', linestyle='--') ax.axvline(x=2.0, color='red', linestyle='--') ax.axvline(x=63.0, color='red', linestyle='--') ax.set_xlim(0.001, 150)
[/code] РЕДАКТИРОВАТЬ: Мне удалось избавиться от ошибки. Это было вызвано определением переменной col_widths, в которой я заполнял ее списками вместо соответствующих значений. Сейчас я определил ее так, возможно, позже найду лучшее решение для этой проблемы.
[code]col_widths = [log_table_widths[0], log_table_widths[1], log_table_widths[2] / 3, log_table_widths[2] / 3, log_table_widths[2] / 3, log_table_widths[3] / 3, log_table_widths[3] / 3, log_table_widths[3] / 3, log_table_widths[4]] [/code] Моя таблица теперь выглядит так: [img]https://i.sstatic.net/LhrktSid.png[/img] < /p> Хотя я не понял, как объединить строки и ячейки. Я нашел этот пост: Таблица Matplotlib с двойными заголовками Где создано несколько таблиц для отображения несколько заголовков. Но, к сожалению, это не сработает для объединения ячеек в столбце и только в строке.
Я ищу способ добавления столбцов, которые могут охватывать несколько строк, и строк, которые могут охватывать несколько столбцов.
В настоящее время у меня есть код ниже, чтобы получить первую строку в .
# Calculate log-scaled widths
table_widths =...
Я ищу способ добавления столбцов, которые могут охватывать несколько строк, и строк, которые могут охватывать несколько столбцов.
В настоящее время у меня есть код ниже, чтобы получить первую строку в .
# Calculate log-scaled widths
table_widths =...
Я ищу способ добавления столбцов, которые могут охватывать несколько строк, и строк, которые могут охватывать несколько столбцов.
В настоящее время у меня есть код ниже, чтобы получить первую строку в .
# Calculate log-scaled widths
table_widths =...
У меня есть модель со свойством enum. Это свойство имеет пользовательский перечисление для преобразователя строки, определенного в конфигурации Code-Pryst EF Core. У меня также есть класс таблицы поиска для этого перечисления, который также имеет...