win*_*ind 6 python pycharm plotly
如何在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")
Run Code Online (Sandbox Code Playgroud)
在Jupyter Notebook中,此代码提供了一个(适当的)交互式图表作为结果。
更新:PyCharm IDE中嵌入Plotly HTML的
答案对我不起作用。当我使用该plot()函数(而不是iplot())时,它将图表导出到单独的文件中,并在新窗口中打开浏览器。笔记本中的输出是所生成图表的文件名。我想将图表包含在笔记本中并进行交互使用,就像在Jupyter Notebook中一样。答案仅与将图表导出到单独的html文件有关。
小智 13
jayBana 的回答是正确的,但如果您想继续在 PyCharm 中使用 .py 脚本,您只需将默认渲染器设置为“浏览器”即可获得交互式绘图:
import plotly.io as pio
pio.renderers.default = "browser"
Run Code Online (Sandbox Code Playgroud)
如此处所述:https : //plot.ly/python/renderers/
我希望有人证明我错了,但你想要完成的事情实际上目前看来是不可能的。我希望您的问题可能仅限于 PyCharm 的社区版本。PyCharm 的科学模式据说有
[...] 一组出色的功能 [...]
因此,我非常确定升级到专业版版本 2019.1.2将提供一个不缺乏任何形式的 Jupyter Notebook 支持的版本。唉,看来我错了。我尝试过各种其他情节方法,但没有发现可以启动交互式情节人物的方法。
与我能提供的任何证据一样:
版本确认:
以下是在 Jupyter Notebook(不在 PyCharm 中)使用您的代码片段进行的测试运行:
阴谋:
另外,正如评论中所建议的,替换iplot为plotinplotly.offline.plot(plot(data), filename='file.html') 将打开网络浏览器并显示您的绘图。
随着最近发布的 Plotly 4.0 主要版本,以下步骤适用于我在 macOs Mojave 上使用 PyCharm 中的 iPython 笔记本的 PyCharm 2019.2。
我相信这应该适用于其他操作系统以及其他支持 Jupyter 笔记本的 PyCharm 的最新版本。
我正在使用conda包和环境管理,但这也应该与其他工具一起使用,例如 pip 或 pipenv(假设 orca 是独立安装的)
这是我的步骤:
创建并激活 conda 环境:
$ conda create -n pycharm-plotly python$ conda activate pycharm-plotly根据plotly.py 的 GitHub README for Jupyter 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请注意,.ipynb使用以下示例代码,上述内容适用于 PyCharm 中的“配置服务器”和“托管服务器”,用于文件扩展名:
#%%
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();
Run Code Online (Sandbox Code Playgroud)
补充说明:
如果您只是想毫无麻烦地显示绘图,这里是我如何仅向浏览器显示特定绘图。
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")
Run Code Online (Sandbox Code Playgroud)
注意,您renderer="browser"当然可以将其更改为其他输出。这是他们的文档列表
| 归档时间: |
|
| 查看次数: |
3040 次 |
| 最近记录: |