Некоторые графики Plotly не отображаются в JupyterLab - PullRequest
2 голосов
/ 29 января 2020

Я успешно установил библиотеки Plotly python для работы с JupyterLab. У меня установлены правильные расширения. (Все направления выполнялись в соответствии с: https://plot.ly/python/getting-started/)

Большинство базовых c графиков отображаются в моем файле блокнота просто отлично, с интерактивностью работает отлично! Однако некоторые сюжеты не появляются, и я понятия не имею, почему.

Например, следующее работает просто отлично:

import plotly.express as px

df = px.data.iris()
fig = px.scatter(df, x="sepal_width", y="sepal_length", 
                 color="species", marginal_y="rug", marginal_x="histogram")
fig.show()

Однако простой scatter_matrix или parallel_coordinates не показывает вывод. Например, следующее не работает:

fig = px.scatter_matrix(df, color="species")
fig.show()

Нет ошибок на консоли или в выходной ячейке. Клетка исполняется, и все тут. Это не дает никакого результата.

Я сделал следующее:

  • Обновление conda: conda update --all -c plotly -c conda-forge
  • Очистка и восстановление расширений лаборатории Jupyter: jupyter lab clean и jupyter lab build.
  • Я также попробовал соответствующие варианты устранения неполадок в соответствии с: https://plot.ly/python/troubleshooting/.
  • Я попытался запустить ноутбук в обычном Jupyter, и он там тоже не работает, хотя начало сюжета действительно появляется, с грустным лицом на графике, что говорит о том, что что-то не в порядке, но я Я не уверен, что.
  • Я попытался перекодировать выше, используя plotly.graph_objects API вместо plotly.express. Тот же результат.

У меня все еще те же проблемы.

Стоит отметить, что я МОГУ сделать следующее:

fig = px.scatter_matrix(df, color="species")
fig.show(renderer='browser')

И это автоматически открывает окно браузера и работает просто хорошо. Итак, кажется, что сам движок сюжета в порядке, что-то не так с соединением jupyter для некоторых типов графиков.

Есть предложения о том, где искать, или что я делаю не так? Спасибо!

1 Ответ

1 голос
/ 30 января 2020

Что ж, после того, как я попробовал много разных вещей, чтобы все заработало, я наконец вернулся и решил просто все почистить. Я сделал следующее:

  • conda clean --all
  • conda update --all -c plotly -c defaults -c conda-forge (важен порядок спецификаторов канала!)
  • jupyter labextension update --all
  • jupyter lab clean
  • jupyter lab build

И я также заметил, что моему ноутбуку не доверяют. Итак, я сделал ноутбук доверенным. И теперь все работает! Было много обновлений, когда я делал conda update --all выше из-за порядка, который я использовал с каналами. Я определенно назначил канал defaults более высоким приоритетом, оставив гораздо меньше пакетов, установленных с conda-forge. Это изменило версию многих пакетов, но я не уверен, какие из них. Я мог бы просмотреть ревизии в conda и получить этот список позже, хотя пакеты постоянно обновляются, поэтому это может быть неактуально.

Интересно, возможно ли, что установка ноутбука на доверенный действительно единственная проблема? Ну, я попытался очистить настройку доверия:

  • jupyter trust --reset

И это все еще работало. Итак, я склонен полагать, что это не было проблемой доверия с ноутбуком, но некоторые версии конфликтуют с многочисленными пакетами, которые я обновил с основного канала conda defaults вместо conda-forge.

На данный момент все хорошо. Спасибо, Рпанаи, за то, что позвонил.

...