2013-08-22 11 views
7

Właśnie zaktualizowałem do wersji IPython 1.0, a nowy interfejs notebooka działa naprawdę dobrze. Na moim ekranie ma teraz domyślną szerokość około 50% strony, co poprawia czytelność. Jednak często pracuję z długimi przedziałami czasowymi, które wolę wyświetlać jak najszersze.Wyjście centralne (wykresy) w notebooku

Obrazy bardzo szerokie rozciągają się dalej tylko w prawo. Czy istnieje sposób, aby wyświetlić wyjście szersze niż domyślne, aby rozwinąć w materii wyśrodkowanej?

Załączony rysunek przedstawia normalny wykres liniowy w pierwszej komórce, który jest mniejszy niż domyślna szerokość notatnika. Druga działka jest szersza i rozszerza się w prawo. Pozostawia to mniej więcej jedną czwartą niewykorzystanego ekranu.

enter image description here

Odpowiedz

2

Odpowiedź udzielona przez @tooblippe, mimo zmian styl notebooka, nie odnosi się to pytanie. Jednak korzystając z pierwszej części tego rozwiązania, będziesz w stanie osiągnąć centrowanie działek. To rozwiązanie działa dla ipython==3.1.0. W przypadku wyższych wersji, które zawierają Jupyter, zamiast tego chcesz zmienić styl Jupyter.

Więc rozwiązaniem byłoby: Można też zmodyfikować powyższy plik css lub dodać tę linię do stylizacji swojej ipython środowiska w folderze ipython:

.output_png { 
     display: table-cell; 
     text-align: center; 
     vertical-align: middle; 
    } 
+0

Obecna wersja notebooka skaluje obraz tak, aby mieścił się wewnątrz komórki. Co sprawia, że ​​teraz jest mniej trafny, ale dzięki za odpowiedź, dobrze wiedzieć. –

6

Co zrobić, jest następujący. Może to pomóc, ale tworzy również pięknie renderowany notatnik.

Zapoznaj się z tą książką online na temat Bayesian Statistics. To naprawdę miłe.

one załadować niestandardowego CSS na koniec notebooka przy użyciu tego kodu:

from IPython.core.display import HTML 
def css_styling(): 
    styles = open("custom.css", "r").read() #or edit path to custom.css 
    return HTML(styles) 
css_styling() 

Możesz pobrać ten niestandardowy CSS z ksiąg GitHub repo HERE: upuść go w folderze notebooków i wywołać powyższy kod

Należy również zwrócić uwagę na ich ładny plik matplotlibrc. Możesz zmienić wygląd wywołań tego kodu. Zadzwoń do tego wcześnie w notebooku i wszystkie wątki matplotlib będą wyglądać całkiem fajnie.

import json 
    s = json.load(open("bmh_matplotlibrc.json")) #edit path to json file 
    matplotlib.rcParams.update(s) 

Pobierz plik JSON HERE from GITHUB

+0

która nie wyśrodkowuje dla mnie działki w środku .. –

3

W skrócie masz dwie opcje. Zarówno dodać CSS stylizacji do komputera w celu osiągnięcia efektu:

  1. Globalny Jupyter CSS (dotyczy wszystkich notebooków) tworzyć lub edytować ~/.jupyter/custom/custom.css i dodać:
     
    .output_png { 
        display: table-cell; 
        text-align: center; 
        vertical-align: middle; 
    } 
    
  2. Modyfikacja stylu bieżącego notebooka poprzez wykonanie Kod z komórką:

    from IPython.core.display import HTML 
    HTML(""" 
    <style> 
    .output_png { 
        display: table-cell; 
        text-align: right; 
        vertical-align: middle; 
    } 
    </style> 
    """) 
    

pamiętać, że w pierwszym przypadku nie ma <style></style>.

Preferuję drugą opcję, szczególnie jeśli mam zamiar udostępnić notatnik (ponieważ jest on samodzielny).

1

vertical-align:middle nie działa dla mnie. Ponadto, w najnowszym Juwater (może innym, ale przynajmniej) istnieje klasa o nazwie .prompt, która zajmuje miejsce tylko po lewej stronie. Udało mi się obejść zarówno przy użyciu to:

.output_png { 
     display: table-cell; 
     text-align: center; 
     margin:auto; 
    } 
.prompt{ 
    display:none; 
} 

Wystarczy wiedzieć, że ustawienie display:none na .prompt spowoduje wszystkich wyświetlaczy in[] i out[] zniknąć i wiem, że to, co chcesz, jeśli masz zamiar to zrobić. Mam nadzieję, że to było pomocne.

Powiązane problemy