【问题标题】:Jupyter notebook canvas not interactive when using %matplotlib inline使用 %matplotlib 内联时,Jupyter 笔记本画布无法交互
【发布时间】:2017-10-08 06:58:51
【问题描述】:

我有以下代码。如果没有 %matplotlib inline 行,jupyter notebook 会弹出一个额外的窗口来显示绘图并且它是交互式的(右下角会在您移动鼠标时更新 x 和 y 值)。使用 %matplotlib inline 行,绘图不是交互式的。

我可以做些什么让它在笔记本中交互?

import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
from numpy.random import randn
%matplotlib inline

origins = ['China','Brazil','India','USA','Canada','UK','Germany',
    'Iraq','Chile','Mexico']


df = pd.DataFrame({'height': 
np.random.rand(10),'weight':np.random.rand(10),
              'origin':origins})

plt.figure()
plt.scatter(df['height'],df['weight'],picker=5)
plt.gca().set_ylabel('Weight')
plt.gca().set_xlabel('Height')

def onpick(event):
    origin = df.iloc[event.ind[0]]['origin']
    plt.gca().set_title('came from {}'.format(origin))

plt.gcf().canvas.mpl_connect('pick_event',onpick)
plt.show()

【问题讨论】:

    标签: python canvas matplotlib plot interactive


    【解决方案1】:

    您可以使用%matplotlib notebook 代替%matplotlib inline

    IPython tutorial on plotting中所述:

    matplotlib 库还附带%matplotlib notebook 命令,如果您的环境允许,该命令允许交互式图形

    (强调我的)

    【讨论】:

      猜你喜欢
      • 2020-08-13
      • 2017-02-03
      • 2016-07-21
      • 1970-01-01
      • 1970-01-01
      • 2017-05-15
      • 2021-03-22
      • 2016-07-04
      • 2018-10-13
      相关资源
      最近更新 更多