Я использую Jupyter Lab 2.0, matplotlib 3.2.0 и Python 3.8.0
Итак, я обнаружил, что вы можете получить интерактивные графики в Jupyter Lab, и отправился в путешествие, чтобы это произошло для себя. Попутно вот что я попробовал:
- Гарантировано nodejs установлено
- Установлен менеджер расширений Jupyter Lab
- Установлен
ipympl
- Установлено
jupyter-matplotlib
- Перестройка JupyterLab
- Перезапустите JupyterLab (несколько раз)
Далее, в своем коде я попробовал все следующие общие рекомендации (в одиночку и в различных комбинациях):
matplotlib.use("nbragg")
%matplotlib ipympl
%matplotlib widget
%matplotlib inline
В лучшем случае некоторые из них приводят к переопределению всех значений по умолчанию для моего rcParams и отображают крошечные графики без интерактивности. В худшем случае мои графики вообще не отображаются, за исключением того, что под кодом иногда отображается какой-то случайный текст.
Я испробовал все предложения из следующих ответов SO, GitHub и matplotlib docs:
Пример моего рабочего кода:
train_df = pd.read_csv('data/train.csv', index_col='PassengerId')
test_df = pd.read_csv('data/test.csv', index_col='PassengerId')
survival = train_df.pop('Survived')
df = pd.concat([train_df, test_df])
# extract last names and titles:
df['Title'] = df.Name.str.extract(r'([A-Za-z]+)\.')
# extract last name:
df['LName'] = df.Name.str.extract(r'([A-Za-z]+),')
# Plot histogram of parsed titles:
sns.countplot(df.Title).set_title("Histogram of Passenger Titles")
plt.show()
Обратите внимание, что я пробовал это с и без plt.show()
.