使用来自 chart_studio insted of plotly 的 iplot 时显示的空图

Empty graph shown when using iplot from chart_studio insted of plotly

我正在关注有关使用 plotly 的 python 教程。

这是一些我必须运行导入我将使用的函数和方法的命令

import plotly.plotly as py
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
init_notebook_mode(connected=True)

然而,当我 运行 在我的 jupyter notbook 上命令时,它说 plotly 的使用已被弃用,它建议我使用模块 chart_studio 代替(错误指向行 import plotly.plotly as py):

ImportError: The plotly.plotly module is deprecated, please install the chart-studio package and use the chart_studio.plotly module instead.

所以我运行

pip install chart_studio

并尝试用来自 chart_studio 模块的函数和方法替换上面的行。

这是我的代码:

import chart_studio.plotly as py
import plotly.graph_objects as go
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
init_notebook_mode(connected=True)

data = dict(type= 'cloropleth', 
            locations = ['AZ','CA','NY'],
           locationmode = 'USA-states',
           colorscale = 'Portland',
           text = ['text 1','text 2','text 3'],
           z = [1,2,3],
           colorbar = {'Title':'Colorbar title goes here'})

mylayout = dict(geo={'scope':'usa'})

choromap = go.Figure(data = [data], layout=mylayout, skip_invalid=True)

iplot(choromap)

问题是,当 运行最后一行 iplot(choromap) 时,我得到这个空图

虽然在教程中出现了另一张图

怎么了?

请注意,我安装了 cufflinks-0.17.3 plotly-4.5.4

您是否尝试干净地安装 plotly?

使用 pip 卸载 plotly

!pip uninstall plotly

然后使用conda卸载plotly

!conda uninstall plotly

之后,使用pip安装最后一个版本

!pip install plotly

检查 Plotly 版本

import plotly
plotly.__version__

已解决

在我的代码中有 2 个错误:

type= 'cloropleth',

我拼错了值 'cloropleth',正确的值是 'choropleth'

然后在行

colorbar = {'Title':'Colorbar title goes here'})

我有 'Title',其中正确的键是 'title'(小写)。

修复了它们,现在地图可以正确显示了。

此外,没有必要安装 chart_studio

所以最后正确的代码是:

import plotly.graph_objects as go
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
init_notebook_mode(connected=True)

data = dict(type= 'choropleth', 
            locations = ['AZ','CA','NY'],
           locationmode = 'USA-states',
           colorscale = 'Portland',
           text = ['text 1','text 2','text 3'],
           z = [1,2,3],
           colorbar = {'title':'Colorbar title goes here'})

mylayout = dict(geo={'scope':'usa'})

choromap = go.Figure(data = [data], layout=mylayout)

iplot(choromap)