ubah ukuran jendela keluaran notebook ipython

111

Secara default ouput notebook ipython terbatas pada sub jendela kecil di bagian bawah. Ini membuat kita memaksa untuk menggunakan scroll bar terpisah yang disertakan dengan jendela keluaran, saat keluarannya besar.

Adakah opsi konfigurasi untuk membuatnya tidak terbatas ukurannya, malah dijalankan setinggi output sebenarnya? Atau opsi untuk mengubah ukurannya setelah dibuat?

nom-mon-ir
sumber

Jawaban:

9

Lihat ekstensi autoscroll jupyter (bagian dari jupyter_contrib_nbextensions) , yang memungkinkan Anda memilih kapan output mulai bergulir di menu tarik-turun (Anda dapat menyetelnya agar tidak pernah menggulir). API yang digunakan tidak didukung secara resmi, jadi ini dapat rusak kapan saja.

Matt
sumber
Terima kasih Matt! Bagaimana cara saya menggunakannya?
nom-mon-ir
1
klon repo di tempat yang tepat di profil ipython Anda. (cf readme) salin custom.example.js ke custom.js dan hapus komentar memerlukan ('custom / autoscroll.js') di dalamnya. Mulai ulang IPython.
Matt
236

Anda dapat mengaktifkan jendela gulir di menu utama notebook

Sel -> Output Saat Ini -> Toggle Scrolling

Jacob Stevenson
sumber
23
Atau (Sel -> Semua Output -> Toggle Scrolling)
aquirdturtle
ada cara untuk melakukan ini per sel? Misalnya, sel dengan banyak konten json ingin di-scroll, tetapi untuk sel dengan output gambar tidak ingin di-scroll.
coklat. 2179
1
Keren, juga jika sedang bergulir, cukup klik ke sisi kiri output akan memperluasnya dan membuatnya non-scrolling. :-)
user1953366
1
Ini harus menjadi jawaban yang diterima. Ini jauh lebih terkini daripada jawaban yang diterima, dan berfungsi seperti pesona.
Sean McCarthy
45

Tambahan # 2: Komentar ini: https://github.com/ipython/ipython/issues/2172#issuecomment-53708976 menunjukkan bagaimana Anda dapat meningkatkan ukuran maksimum sel keluaran. Jalankan kode berikut di notebook:

%%javascript
IPython.OutputArea.auto_scroll_threshold = 9999;
keflavich.dll
sumber
Sepertinya tidak berhasil. Di konsol saya mendapatkan: accessing OutputArea is deprecated. Use require("notebook/js/outputarea").OutputArea. Menempatkan itu di konsol menunjukkan itu menjadi fungsi.
broccoli2000
Tidak berhasil untuk saya, mungkin karena keluaran saya adalah Javascript-generated.
osa
2
tidak bekerja. output setelah mengeksekusi sel masih dalam area yang dapat digulir. Dalam kasus saya, tiba-tiba, notebook ipython beralih ke panel yang dapat digulir untuk output tertentu, sementara mereka menggunakan "normal" sebelumnya. Sangat membingungkan ...
pengguna989762
22

Saya hanya menempatkan kursor saya di kotak abu-abu di sebelah output dan mengklik dan kemudian semua output ditampilkan.

Taylor Somma
sumber
Wow, ini solusi yang sangat sederhana. Mengapa ada "solusi" yang diposting lainnya diperlukan?
Rafael_Espericueta
15

Ini berhasil untuk saya di Chrome. Jalankan di sel terpisah. Pilih tinggi maksimal yang ingin Anda tampilkan tanpa menggulir.

%%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>

Anda masih akan mendapatkan bilah gulir jika konten melebihi tinggi maksimal. Tidak akan ada kotak bayangan. Tingkatkan saja max-height bahkan lebih jika benar-benar tidak ingin menggulir sama sekali.

brokoli2000
sumber
Bagus. Potongan kode ini berhasil. Anehnya ini bukan pengaturan notebook ipython / jupyter yang didokumentasikan.
pengguna989762
Saya lebih suka ini untuk menambahkan ekstensi. Saya juga menggunakan metode ini untuk memformat sisa output saya juga. Terima kasih, @ broccoli2000!
hyperGeoMetric
Tidak tahu Anda bisa melakukan ini ... agak hacky tetapi begitu juga dengan lingkungan Jupyter secara umum, tampaknya. Terima kasih!
Ezekiel Victor
11

Untuk mengubah ukuran tinggi output yang dapat digulir, saya melakukan hal berikut (Anda dapat mengubah 44em):

from IPython.core.display import display, HTML
display(HTML("<style>div.output_scroll { height: 44em; }</style>"))
aless80
sumber
1
Ini SANGAT LUAR BIASA dan masih berfungsi dengan Jupyter 1.0+
rjurney
2

Untuk iplot plot.ly saya harus menambahkan yang berikut ini untuk melihat perubahan apa pun (itu mengubah semua output)

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

Saya mencoba semua opsi di atas dan tidak ada yang berhasil. Beginilah cara saya menyingkirkan sel gulir. Klik kanan pada sel, dan klik "nonaktifkan pengguliran untuk keluaran" Saya tahu ini tidak mengubah ukuran sel gulir, tetapi membuat kode saya lebih terbaca karena sel gulir sangat kecil (setidaknya bagi saya).

Chris
sumber
-1

Di JupyterLab Anda dapat mengklik kanan dan memilih: Buat Tampilan Baru untuk Output .

baz
sumber