我剛剛升級到IPython 1.0,新的筆記本界面表現非常好。在我的屏幕上,它現在的默認寬度是頁面的50%,這提高了可讀性。然而,我經常處理長時間序列,我喜歡盡可能寬地顯示它們。
非常寬的圖片只會進一步向右延伸。有沒有一種方法可以顯示比默認更寬的輸出,以擴展居中的內容?
附圖顯示了第一個單元格中的正常內聯繪圖,其寬度小于默認的筆記本寬度。第二個地塊更寬,向右擴展。這使得我的屏幕的左邊四分之一沒有被使用。
# # #我做的是下面這些。這可能會有所幫助,但它也創建了一個漂亮的筆記本渲染。
看看這本關于貝葉斯統計的網上書籍。這真的很好。
他們使用以下代碼在筆記本末尾加載自定義CSS:
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()
你可以從github repo這本書下載這個定制的CSS:把它放到筆記本文件夾中,然后調用上面的代碼
還要注意他們漂亮的matplotlibrc文件。您可以通過調用此代碼來更改繪圖的外觀和感覺。在筆記本中盡早調用它,所有的matplotlib圖看起來會很酷。
import json
s = json.load( open("bmh_matplotlibrc.json") ) #edit path to json file
matplotlib.rcParams.update(s)
從GITHUB下載JSON文件
# # #簡而言之,你有兩個選擇。兩者都將CSS樣式添加到筆記本中,以實現以下效果:
全局Jupyter CSS(影響所有筆記本) 編輯或創建~/。jupyter/custom/custom.css并添加:
.output_png { display: table-cell; text-align: center; vertical-align: middle; }
Modify the style of the current notebook by executing a code cell with:
from IPython.core.display import HTML
HTML("""
<style>
.output_png {
display: table-cell;
text-align: center;
vertical-align: middle;
}
</style>
""")
注意,在第一種情況下,沒有& ltstyle & gt& lt/style & gt;。
我更喜歡第二種選擇,特別是如果我打算共享筆記本的話(因為它是獨立的)。
您可以使用以下工具對此進行測試
# Cell 1
%matplotlib inline
# Cell 2
import numpy as np
import matplotlib.pyplot as plt
# Cell 3
a=np.random.randn(10000).cumsum()
fig,ax = plt.subplots(figsize=[10,4])
ax.plot(a)
# Make visual note of the position of the plot in the page, it will change when you execute the next cell
# Cell 4
from IPython.core.display import HTML
HTML("""
<style>
.output_png {
display: table-cell;
text-align: center;
vertical-align: middle;
}
</style>
""")
# # #而@tooblippe給出的答案,雖然改變了筆記本的風格,但并沒有針對問題。但是,使用該解決方案的第一部分,您將能夠實現繪圖的居中。這個解決方案適用于ipython==3.1.0。對于包含Jupyter的更高版本,您可能希望編輯Jupyter的樣式。
因此,解決方案應該是: 您可以修改上面的css文件,或者將這一行添加到ipython文件夾中的ipython環境樣式中:
.output_png {
display: table-cell;
text-align: center;
vertical-align: middle;
}
# # #垂直對齊:中間不適合我。還有,在最新的Jupyter里(可能是別人,但至少)有一個類叫。僅在頁面左側占用空間的提示。我可以用這個來解決這兩個問題:
.output_png {
display: table-cell;
text-align: center;
margin:auto;
}
.prompt
display:none;
}
只需知道設置顯示:none on。提示符將導致所有的in