Совместная лаборатория Google: Есть ли какой-либо способ увеличить высоту ячейки результата выполнения кода?

#google-colaboratory

#google-совместная лаборатория

Вопрос:

В записной книжке совместной лаборатории Google у меня есть цикл, который генерирует много charts…my проблема в том, что он не отображает полный вывод красиво. Вместо этого он показывает это внутри ячейки с полосой прокрутки. Я хочу показать полный результат вместо прокрутки вверх и вниз … но, похоже, в совместной лаборатории Google нет никаких настроек, которые позволяли бы это. Мне было интересно, знает ли кто-нибудь, возможно ли изменить высоту ячейки результата? Спасибо!

Ответ №1:

Здесь есть ответ от разработчика. Обратите внимание, что display(...) команда должна быть включена в каждую ячейку, для которой вы хотите увеличить максимальную высоту (если, возможно, вы не пишете дополнительный javascript). Цитата ниже.

Пример на Python:

 from IPython.display import Javascript
display(Javascript('''google.colab.output.setIframeHeight(0, true, {maxHeight: 5000})'''))

for i in range(200):
  print(i)
  

Комментарии:

1. Приятно! Это работает, спасибо … однако вместо того, чтобы включать его в каждую ячейку, мы могли бы просто сделать его def, который вызывается в каждой ячейке ..например, adjust_height()

2. Я использовал его для функции построения графика, так что простое добавление его туда тоже сработало хорошо!

3. Хм, для меня это ничего не изменило, я все еще вижу полосу прокрутки. Интересно, почему это сработало для некоторых, а не для других. У меня весь мой код в 1 ячейке, так что, похоже, это должно сработать.

Ответ №2:

Мне удалось автоматизировать это для всех ячеек во всей записной книжке.

Просто создайте ячейку со следующим кодом и выполните ее, все остальные ячейки в записной книжке будут автоматически скорректированы по высоте до 5000 пикселей:

 # Avoids scroll-in-the-scroll in the entire Notebook
from IPython.display import Javascript
def resize_colab_cell():
  display(Javascript('google.colab.output.setIframeHeight(0, true, {maxHeight: 5000})'))
get_ipython().events.register('pre_run_cell', resize_colab_cell)
  

(Это просто вариант ответов в этой теме и подсказка из здесь)

Ответ №3:

Это может помочь.

 from IPython.display import Javascript
display(Javascript("google.colab.output.resizeIframeToContent()"))
  

Комментарии:

1. Спасибо, но, к сожалению, это не имеет значения… У меня все еще есть полоса прокрутки в ячейке.

Ответ №4:

Попробуйте это:

 from IPython.display import HTML
display(HTML('''
<style>
    pre {
        white-space: normal;
    }
</style>
'''))

print('x ' * 200)