我正在尝试将交互式绘图(或 Bokeh )图嵌入到 excel 中。
为此,我尝试了以下三件事:
这有效,并且可以加载在线和离线 html
'''
import plotly
import plotly.graph_objects as go
x = [0.1, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0]
y = [i**2 for i in x]
fig = go.Figure()
fig.add_trace(go.Scatter(x=x, y=x, mode='markers', name="y=x", marker=dict(color='royalblue', size=8)))
fig.add_trace(go.Scatter(x=x, y=y, name="y=x^2", line=dict(width=3)))
plotly.offline.plot(fig, filename='C:/Users/.../pythonProject/test1.html')
.Navigate
在 excel 中重新指向 webbrowser 对象到本地plotly.html。横幅弹出 “....限制此文件显示可以访问您计算机的事件内容”
点击横幅,我遇到了这个错误:
可以在浏览器中打开相同的 HTML。
有没有办法在excel中显示交互式绘图?
最佳答案
最后,经过 Microsoft QnA 的讨论,我设法将交互式绘图带到了 Excel 中。和 Web Browser Control & Specifying the IE Version
要将 Microsoft 网页插入 excel,您必须在注册表编辑器中更改兼容性标志
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\REGISTRY\MACHINE\Software\Wow6432Node\Microsoft\Office\16.0\Common\COM 兼容性{8856F961-340A-11D0-A96B-00C04FD705A2}
更改双字 0 而不是 400
现在您可以将 Web 浏览器对象插入到 excel 中,逐步详细信息为 here
通过添加使用 X-UA 兼容 HTML 元标记的标记手动编辑从 plotly 生成的 HTML 文件
最初从 plotly 生成的 HTML 文件看起来像这样
<html>
<head><meta charset="utf-8" /></head>
<body>
修改后的 HTML 与浏览器兼容性<html>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
</head>
<body>
在此之后,我可以在 excel 中查看交互式绘图,也可以进行与 Web 浏览器相同的交互使用的宏:
Sub Button4_Click()
ActiveSheet.WebBrowser1.Navigate "file:///C:/Users/vignesh.rajendran/Desktop/test5.html"
End Sub
关于python - Plotly:如何在 Excel 中嵌入完全交互式的 Plotly 图形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65272408/