thay đổi kích thước cửa sổ xuất sổ ghi chép ipython


111

Theo mặc định, ipython notebook ouput được giới hạn trong một cửa sổ phụ nhỏ ở dưới cùng. Điều này khiến chúng tôi buộc phải sử dụng thanh cuộn riêng biệt đi kèm với cửa sổ đầu ra, khi đầu ra lớn.

Bất kỳ tùy chọn cấu hình nào để làm cho nó không bị giới hạn về kích thước, thay vào đó chạy cao như đầu ra thực tế? Hoặc tùy chọn để thay đổi kích thước khi nó được tạo?

Câu trả lời:


9

Xem phần mở rộng jupyter autoscroll (một phần của jupyter_contrib_nbextensions) , cho phép bạn chọn thời điểm đầu ra bắt đầu cuộn trong menu thả xuống (bạn có thể đặt nó không bao giờ cuộn). Mặc dù vậy, API được sử dụng không được hỗ trợ chính thức, do đó, API này có thể bị hỏng bất cứ lúc nào.


Cảm ơn Matt! Làm thế nào để tôi sử dụng nó?
nom-mon-ir

1
sao chép repo vào đúng vị trí trong hồ sơ ipython của bạn. (cf readme) sao chép custom.example.js vào custom.js và bỏ ghi chú yêu cầu ('custom / autoscroll.js') trong đó. Khởi động lại IPython.
Matt

236

Bạn có thể chuyển đổi cửa sổ cuộn trong menu chính của sổ ghi chép

Ô -> Kết quả hiện tại -> Chuyển đổi cuộn


23
Hoặc (Cell -> All Output -> Chuyển sang cuộn)
aquirdturtle

bất kỳ cách nào để làm điều này trên cơ sở mỗi tế bào? Ví dụ: ô có nhiều nội dung json muốn cuộn nhưng đối với ô có đầu ra hình ảnh thì không muốn cuộn.
nâu.2179.

1
Tuyệt vời, nếu nó đang cuộn, chỉ cần nhấp vào bên trái của đầu ra sẽ mở rộng nó và làm cho nó không cuộn. :-)
user1953366

1
Đây phải là câu trả lời được chấp nhận. Nó hiện tại hơn nhiều so với câu trả lời được chấp nhận, và nó hoạt động như một sự quyến rũ.
Sean McCarthy

45

Phụ lục # 2: Nhận xét này: https://github.com/ipython/ipython/issues/2172#issuecomment-53708976 cho biết cách bạn có thể tăng kích thước tối đa của ô đầu ra. Chạy mã sau trong sổ ghi chép:

%%javascript
IPython.OutputArea.auto_scroll_threshold = 9999;

Dường như không hoạt động. Trong giao diện điều khiển tôi nhận được: accessing OutputArea is deprecated. Use require("notebook/js/outputarea").OutputArea. Đưa nó vào bảng điều khiển cho thấy nó là một chức năng.
broccoli2000

Không phù hợp với tôi, có thể vì đầu ra của tôi được tạo bằng Javascript.
osa

2
không hoạt động. đầu ra sau khi thực hiện một ô vẫn nằm trong vùng có thể cuộn. Trong trường hợp của tôi, đột nhiên, máy tính xách tay ipython chuyển sang các ngăn có thể cuộn cho các kết quả đầu ra nhất định, trong khi chúng thường là "bình thường" trước đó. Rất bí ẩn ...
user989762

22

Tôi chỉ cần đặt con trỏ vào hộp màu xám bên cạnh đầu ra và nhấp vào và sau đó tất cả đầu ra được hiển thị.


Wow, đây là một giải pháp đơn giản. Tại sao lại cần bất kỳ "giải pháp" đã đăng nào khác?
Rafael_Espericueta

15

Điều này đã làm việc cho tôi trong Chrome. Chạy nó trong một ô riêng biệt. Chọn chiều cao tối đa bạn muốn hiển thị mà không cần cuộn.

%%html
<style>
.output_wrapper, .output {
    height:auto !important;
    max-height:1000px;  /* your desired max-height here */
}
.output_scroll {
    box-shadow:none !important;
    webkit-box-shadow:none !important;
}
</style>

Bạn sẽ vẫn nhận được thanh cuộn nếu nội dung vượt quá chiều cao tối đa. Tuy nhiên, sẽ không có hộp bóng. Chỉ cần tăng chiều cao tối đa hơn nữa nếu thực sự không muốn cuộn.


tuyệt quá. Đoạn mã này đã thực hiện thủ thuật. Thật kỳ lạ, đây không phải là một thiết lập được ghi chép của sổ ghi chép ipython / jupyter.
user989762

Tôi thích điều này hơn để thêm một phần mở rộng. Tôi cũng đã sử dụng phương pháp này để định dạng phần còn lại của đầu ra của mình. Cảm ơn, @ broccoli2000!
hyperGeoMetric

Không biết bạn có thể làm điều này ... hơi khó nhưng môi trường Jupyter nói chung cũng vậy, có vẻ như vậy. Cảm ơn bạn!
Ezekiel Victor

11

Để thay đổi kích thước chiều cao của đầu ra có thể cuộn, tôi làm như sau (bạn có thể thay đổi 44em):

from IPython.core.display import display, HTML
display(HTML("<style>div.output_scroll { height: 44em; }</style>"))

1
Điều này thật TUYỆT VỜI và vẫn hoạt động với Jupyter 1.0+
rjurney

2

Đối với iplot plot.ly, tôi phải thêm phần sau để xem bất kỳ thay đổi nào (nó đã thay đổi tất cả đầu ra)

%%html
<style>
.python-iframe > iframe {
  height:1000px !important;
}
</style>

0

Tôi đã thử tất cả các tùy chọn ở trên và không có tùy chọn nào hoạt động. Đây là cách tôi thoát khỏi ô cuộn. Nhấp chuột phải vào ô và nhấp vào "tắt cuộn cho đầu ra" Tôi biết điều này không thay đổi kích thước ô cuộn, nhưng nó làm cho mã của tôi dễ đọc hơn vì các ô cuộn rất nhỏ (ít nhất là đối với tôi).


-1

Trong JupyterLab, bạn có thể nhấp chuột phải và chọn: Tạo Chế độ xem Mới cho Đầu ra .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.