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?

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.


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


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;

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.


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.


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>"))

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>

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).


-1

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.