[英]Use both matplotlib inline and qt in jupyter notebook
我正在使用Jupyter(與IPython一起使用)來分析研究數據以及導出數據。 我真的很喜歡Jupyter提供的筆記本方法:長時間瀏覽實驗后,我可以輕松地看到數字與數據的對應關系。 當然,這是使用內聯后端。
但是,當我想探索新數據時,我更喜歡使用QT后端。 它比嵌入式方法快,並且可以輕松縮放,放大和縮小,並在左下角很好地顯示X和Y坐標。 此外,我可以使用QT后端來確定要在串聯后端中使用的良好x和y限制。
我已經嘗試過使用%matplotlib notebook
魔術,但是它太慢了。 對於某些實驗,我正在繪制〜500個光譜(每個光譜由〜1000個數據點組成),這在嵌入式后端中已經很慢了。 即使數據點較少,筆記本后端也使用起來太慢。
因此,每當我繪圖時,我都想同時使用QT后端和內聯后端。 (因此,每當我執行繪制數據的單元格時,它都應顯示嵌入式圖像並彈出QT后端窗口)。 這樣,我仍然可以很好地了解筆記本中的繪圖,同時還可以輕松瀏覽數據。 有沒有辦法做到這一點?
這使您可以內聯並通過QtConsole使用plotSin函數運行QtConsole。
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
..
def plotChirp(Type, Exp, Rand):
# Orignal Chirp Funciton From:
# http://stackoverflow.com/questions/19410042/how-to-make-ipython-notebook-matplotlib-plot-inline
x = np.linspace(0, 3*np.pi, Rand)
plt.plot(x, np.sin(x**int(Exp)))
plt.title('A simple chirp ' + Type)
plt.show()
..
plotChirp("A", 5, 200) # Plots inline if you choose
%connect_info # For your own connection
%qtconsole
QtConsole打開,現在您可以調用函數在外部進行繪圖。
使用%matplotlib qt
可以循環打印,但不幸的是,它似乎與圖形重疊。 尋找子圖作為可能的解決方案。
%matplotlib qt
for i in range(0,2):
if i == 0:
plotChirp("B",1, 400)
else:
plotChirp("c",6, 1000)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.