IPython 노트북 matplotlib 플롯을 인라인으로 만드는 방법
Python 2.7.2 및 IPython 1.1.0과 함께 MacOS X에서 IPython 노트북을 사용하려고합니다.
matplotlib 그래픽을 인라인으로 표시 할 수 없습니다.
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
나는 또한 %pylab inline
ipython 명령 줄 인수를 시도 --pylab=inline
했지만 이것은 차이가 없습니다.
x = np.linspace(0, 3*np.pi, 500)
plt.plot(x, np.sin(x**2))
plt.title('A simple chirp')
plt.show()
인라인 그래픽 대신 다음을 얻습니다.
<matplotlib.figure.Figure at 0x110b9c450>
그리고 matplotlib.get_backend()
내가 'module://IPython.kernel.zmq.pylab.backend_inline'
백엔드 가 있음을 보여줍니다 .
나는 %matplotlib inline
노트북의 첫 번째 셀에서 사용 했으며 작동합니다. 나는 당신이 시도해야한다고 생각합니다.
%matplotlib inline
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
구성 파일에서 다음 구성 옵션을 설정하여 기본적으로 항상 인라인 모드에서 모든 IPython 커널을 시작할 수 있습니다.
c.IPKernelApp.matplotlib=<CaselessStrEnum>
Default: None
Choices: ['auto', 'gtk', 'gtk3', 'inline', 'nbagg', 'notebook', 'osx', 'qt', 'qt4', 'qt5', 'tk', 'wx']
Configure matplotlib for interactive use with the default matplotlib backend.
matplotlib 버전이 1.4 이상이면 다음을 사용할 수도 있습니다.
IPython 3.x 이상
%matplotlib notebook
import matplotlib.pyplot as plt
이전 버전
%matplotlib nbagg
import matplotlib.pyplot as plt
둘 다 nbagg 백엔드 를 활성화하여 상호 작용을 가능하게합니다.
Ctrl + Enter
%matplotlib inline
Magic Line :D
See: Plotting with Matplotlib.
I'm not sure why joaquin posted his answer as a comment, but it is the correct answer:
start ipython with ipython notebook --pylab inline
Edit: Ok, this is now deprecated as per comment below. Use the %pylab inline
magic command.
To make matplotlib inline by default in Jupyter (IPython 3):
Edit file
~/.ipython/profile_default/ipython_config.py
Add line
c.InteractiveShellApp.matplotlib = 'inline'
Please note that adding this line to ipython_notebook_config.py
would not work. Otherwise it works well with Jupyter and IPython 3.1.0
I have to agree with foobarbecue (I don't have enough recs to be able to simply insert a comment under his post):
It's now recommended that python notebook isn't started wit the argument --pylab
, and according to Fernando Perez (creator of ipythonnb) %matplotlib inline
should be the initial notebook command.
I found a workaround that is quite satisfactory. I installed Anaconda Python and this now works out of the box for me.
I did the anaconda install but matplotlib is not plotting
It starts plotting when i did this
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
You can simulate this problem with a syntax mistake, however, %matplotlib inline
won't resolve the issue.
First an example of the right way to create a plot. Everything works as expected with the imports and magic that eNord9 supplied.
df_randNumbers1 = pd.DataFrame(np.random.randint(0,100,size=(100, 6)), columns=list('ABCDEF'))
df_randNumbers1.ix[:,["A","B"]].plot.kde()
However, by leaving the ()
off the end of the plot type you receive a somewhat ambiguous non-error.
Erronious code:
df_randNumbers1.ix[:,["A","B"]].plot.kde
Example error:
<bound method FramePlotMethods.kde of <pandas.tools.plotting.FramePlotMethods object at 0x000001DDAF029588>>
이 한 줄 메시지 외에는 스택 추적이나 구문 오류가 있다고 생각하는 다른 명백한 이유가 없습니다. 플롯이 인쇄되지 않습니다.
Jupyter의 개별 셀에서 플로팅 명령을 실행할 때 동일한 문제가 발생했습니다.
In [1]: %matplotlib inline
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
In [2]: x = np.array([1, 3, 4])
y = np.array([1, 5, 3])
In [3]: fig = plt.figure()
<Figure size 432x288 with 0 Axes> #this might be the problem
In [4]: ax = fig.add_subplot(1, 1, 1)
In [5]: ax.scatter(x, y)
Out[5]: <matplotlib.collections.PathCollection at 0x12341234> # CAN'T SEE ANY PLOT :(
In [6]: plt.show() # STILL CAN'T SEE IT :(
이 문제는 플로팅 명령을 단일 셀로 병합하여 해결되었습니다.
In [1]: %matplotlib inline
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
In [2]: x = np.array([1, 3, 4])
y = np.array([1, 5, 3])
In [3]: fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.scatter(x, y)
Out[3]: <matplotlib.collections.PathCollection at 0x12341234>
# AND HERE APPEARS THE PLOT AS DESIRED :)
참고 URL : https://stackoverflow.com/questions/19410042/how-to-make-ipython-notebook-matplotlib-plot-inline
'developer tip' 카테고리의 다른 글
검증 실패 또는 유효하지 않은 중복에 대한 REST HTTP 상태 코드 (0) | 2020.09.29 |
---|---|
iPhone 응용 프로그램에 사용자 정의 글꼴을 포함 할 수 있습니까? (0) | 2020.09.29 |
XML에서 태그 블록을 주석 처리하려면 어떻게합니까? (0) | 2020.09.29 |
항목의 상위 항목 검색 오류 : AppCompat v23으로 업그레이드 한 후 지정된 이름과 일치하는 리소스를 찾을 수 없습니다. (0) | 2020.09.29 |
Vim 레지스터는 어떻게 사용합니까? (0) | 2020.09.28 |