2016-05-10 2 views
6

Я использую ноутбук Jupyter. У меня довольно широкий экран, но отображаемый вывод (скажем, при печати массива numpy) отформатирован так, как если бы экран был узким.Как установить максимальную выходную ширину в numpy?

Я нашел способ увеличения ширины ячеек, с

from IPython.core.display import HTML 
HTML("<style>.container { width:95% !important; }</style>") 

, но это, кажется, влияет на вход только, не выход (см скриншоты):

short input longer input

Я пробовал установить linewidth в numpy.set_printoptions, я пробовал установить numpy.core.arrayprint._line_width, ничего ...

EDIT: Используя matplotlib, я могу установить ширину графиков (которые я рисую в тетради с помощью магии %matplotlib inline) командой plt.rcParams['figure.figsize']=[X,Y]. Оказывается, я могу увеличить X, чтобы графики заполнили выходную ячейку горизонтально полностью. Это означает (я думаю), что оригинальная проблема - это вещь numpy.

+0

(https://stackoverflow.com/questions/21971449/how-do-i-increase-the-cell- ширина-оф-jupyter-IPython-ноутбук-в-мой-браузер) – Shtut

ответ

4

Это уже год, но, возможно, ответ поможет кому-то еще.

Способ отображения числовых массивов зависит от ряда факторов. С помощью этого кода вы можете показать больше деталей и использовать всю ширину экрана:

Это значение по умолчанию

import numpy as np 
np.set_printoptions(edgeitems=3) 
np.core.arrayprint._line_width = 80 

>>> array([[[0, 0, 0, ..., 0, 0, 0], 
>>> [0, 0, 0, ..., 0, 0, 0], 
>>> [0, 0, 0, ..., 0, 0, 0], 
>>> ..., 

С помощью следующего кода вы увеличиваете элементы, показанные на краю каждого массива (начало и конец), а также ширина линии: [? вы видели этот вопрос]

import numpy as np 
np.set_printoptions(edgeitems=10) 
np.core.arrayprint._line_width = 180 

>>> array([[[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ..., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 
>>>   [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ..., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 
>>>   [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ..., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],