Обычно в ноутбуке jupyter я бы использовал %matplotlib notebook
magic для отображения интерактивного окна, однако это не похоже на работу с colab. Есть ли решение, или невозможно отобразить интерактивные окна в google colab?
Интерактивные показатели matplotlib в Google Colab
Ответ 1
Ниже приведен пример создания интерактивного iplot()
в Plotly и cufflinks()
в Google Colab Notebook. Используемые функции и предложения из ответа [1, 2]
Кажется, ключом является включение configure_plotly_browser_state()
в ячейку, которая выполняет черчение.
Код ниже должен работать:
Импорт библиотек
import datetime
from datetime import date
import pandas as pd
import numpy as np
from plotly import __version__
%matplotlib inline
import plotly.offline as pyo
import plotly.graph_objs as go
from plotly.offline import iplot
import cufflinks as cf
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
cf.go_offline()
Установить блокнот на false
init_notebook_mode(connected=False)
Создать функцию для Colab скопировано из: [1, 2]
def configure_plotly_browser_state():
import IPython
display(IPython.core.display.HTML('''
<script src="/static/components/requirejs/require.js"></script>
<script>
requirejs.config({
paths: {
base: '/static/base',
plotly: 'https://cdn.plot.ly/plotly-1.5.1.min.js?noext',
},
});
</script>
'''))
Создать образец кадра данных
Источник данных: Ежегодные данные о дождливых дождях в Пичтри-Сити, штат Джорджия, от Национальной службы погоды [3].
df = pd.DataFrame({
'month': ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
'Year_2018': [3.26, 6.11, 4.86, 6.53, 4.45, 3.86, 8.04, 7.59, 1.48, 4.75, 7.27, 11.83],
'Year_1996': [8.26, 3.82, 6.42, 2.91, 2.12, 1.70, 2.14, 4.66, 4.32, 0.89, 3.22, 4.14]
}
)
df
Создать интерактивный iplot
configure_plotly_browser_state()
df.iplot(kind='line',x='month',y=['Year_2018', 'Year_1996'], color=['white', 'gold'],
theme='solar', mode='markers+lines',title='Annual Rainfall in the city Peachtree City, GA')
plt.show()
[Примечание: названия x, y, не отображаются! сейчас.]
Ответ 2
Это похоже на проблему с бэкэндом. В блокнотах jupyter команда для перечисления различных типов бэкэндов:
%matplotlib --list
Выход:
Available matplotlib backends: ['tk', 'gtk', 'gtk3', 'wx', 'qt4', 'qt5', 'qt', 'osx', 'nbagg', 'notebook', 'agg', 'svg', 'pdf', 'ps', 'inline', 'ipympl', 'widget']
Однако для моей системы/установки работает только "ноутбук" и еще один. В jupyter labs для меня ни один из бэкендов не работает для интерактивных графиков (даже "встроенный", который они рекомендуют).
Надеюсь, это сократит часы поисков и перестановок установки/повторной установки, которые я прошел :))
Ответ 3
Любое обновление на эту тему? Мы хотели бы знать.