Plotly图表未显示在PyCharm中

t0ybt7op  于 2023-10-20  发布在  PyCharm
关注(0)|答案(5)|浏览(146)

如何在Pycharm中显示交互式绘图图?我运行以下代码:

import plotly.offline as py
import plotly.graph_objs as go

py.init_notebook_mode(connected=True)

data = [go.Bar(
    x=['giraffes', 'orangutans', 'monkeys'],
    y=[20, 14, 23]
)]

py.iplot(data, filename="barplot")

PyCharm中的结果是一个空白字段:

这段代码给出了一个(正确的)交互式图表作为结果。

**更新:**来自Embed Plotly HTML in PyCharm IDE的答案不适合我。当我使用plot()函数(而不是iplot())时,它将图表导出到单独的文件中,并在新窗口中打开浏览器。notebook中的输出是生成的图表的文件名。我想将图表包含到Notebook中,并交互式地使用它,就像在Notebook中一样。这个答案只是关于将图表导出到单独的html文件。

cqoc49vn

cqoc49vn1#

jayBana的答案是正确的,但是如果你想在PyCharm中继续使用.py脚本,你可以简单地将默认渲染器设置为'browser'来获得交互式绘图图:

import plotly.io as pio
pio.renderers.default = "browser"

如本文所述:https://plot.ly/python/renderers/

46qrfjad

46qrfjad2#

对于最近发布的Plotly 4.0的主要版本,下面的步骤适用于我在macOS莫哈韦上使用PyCharm中的iPython笔记本的PyCharm 2019.2。
我相信这应该适用于其他操作系统以及其他最近版本的PyCharm,支持PyCharm笔记本电脑。
我正在使用conda进行包和环境管理,但这也应该与其他工具一起使用,例如。pip或pipenv(假设orca是独立安装的)

以下是我的步骤:

创建并激活conda环境:

  • $ conda create -n pycharm-plotly python
  • $ conda activate pycharm-plotly

根据plotly.py的GitHub README for Xueyter Notebook Support安装Plotly 4.0及其依赖项

  • $ conda install -c plotly plotly==4.0.0
  • $ conda install "notebook>=5.3" "ipywidgets>=7.5"

此外,我发现这需要“Plotly Orca”才能工作:

  • $ conda install -c plotly plotly-orca psutil requests

请注意,上面使用以下示例代码从PyCharm中为.ipynb文件扩展名使用“已配置服务器”和“托管服务器”:

#%%
import plotly.graph_objects as go
import plotly.io as pio

pio.renderers.default = 'png'

fig = go.Figure(
    data=[go.Bar(y=[2, 1, 3])],
    layout_title_text="A Figure Displayed with fig.show()"
)
fig.show();

附加说明:

  • 我相信Plotly的绘图渲染在PyCharm的Scientific模式下不能像Matplotlib或Seaborn那样处理“普通”Python文件。
r55awzrz

r55awzrz3#

我希望有人能证明我错了,但你想完成的事情目前看来确实不可能。我希望您的问题可能仅限于PyCharm的社区版本。PyCharm的Scientific模式据称具有
[...]一系列突出的特点[…]
所以,我很确定升级到专业版版本2019.1.2将提供一个不缺乏任何形式的笔记本支持的版本。唉,看来我错了。我尝试过各种其他的情节方法,但没有发现有可能激发一个互动的情节人物。

我可以提供的任何证据:

版本确认:

下面是一个来自PyCharm中的非PyCharm Notebook的测试运行,其中包含您的代码片段:

剧情:

此外,如评论中所建议的,在plotly.offline.plot(plot(data), filename='file.html') * 中将iplot替换为plot * 将 * 打开Web浏览器并显示您的绘图。

ncgqoxb0

ncgqoxb04#

如果你只是想简单地显示情节没有任何麻烦这里是我如何显示浏览器只为特定的情节。

import numpy as np
import plotly.express as px

# Plot histogram based on rolling 2 dice
dice_1 = np.random.randint(1,7,5000)
dice_2 = np.random.randint(1,7,5000)
dice_sum = dice_1 + dice_2
# bins represent the number of bars to make
fig = px.histogram(dice_sum, nbins=11, labels={'value':'Dice Roll'},
             title='5000 Dice Roll Histogram', marginal='violin',
            color_discrete_sequence=['green'])

fig.show(renderer="browser")

注意renderer="browser"当然可以将其更改为其他输出。以下是其中docs的列表

klh5stk1

klh5stk15#

plotly版本4开始,您需要做的就是在任何go.Figure上调用.show()

import plotly.graph_objects as go
fig = go.Figure( go.Scatter(x=[1,2,3], y=[1,3,2] ) )
fig.show()

相关问题