是否可以在 C# Winforms WebBrowser 组件中使用 Plotly.js?

Is it possible to use Plotly.js in a C# Winforms WebBrowser component?

为了无缝,我试图在 WebBrowser 工具箱组件内的 C# Winforms 桌面应用程序中使用 Plotly.js,但遇到了一些困难。通过将文字字符串分配给 WebBrowser.DocumentText 属性,将代码加载到组件中。

具体来说,当程序为 运行 时出现以下错误:"Plotly is undefined." 将相同的代码粘贴到名为 index.html 的文件中时,加载并 运行双击时在 FireFox 浏览器 window 中是正确的。必须是一些非常简单的新手或者只是无知。

以下是 index.html 文件的内容:

<html>
<head>
<script src = 'plotly-latest.min.js'></script>
</head>
<body>
<div id = "myDiv"></div>
<script>
var myDiv = document.getElementById('myDiv');
var trace = {
x : [9,8,5,1],
y : [1,2,4,8],
z : [11,8,15,3],
mode : 'lines' };
var data = [trace];
Plotly.newPlot(myDiv, data);
</script>
</body>
<html>

感谢您提供的任何帮助(双关语!)。

WebBrowser 控件默认使用与 Plotly.js 不兼容的 IE6。如果您需要分发您的应用程序,您可以让它使用 IE11 来显示您的图表 . You can also do it in code

您还可以选择放弃 WebBrowser 控件并使用第三方浏览器控件,例如 CefSharp(免费)或 DotNetBrowser(商业)。

也许太老了,无法回答,但我只是尝试这样做,现在看来还可以:

使用Plotly.NET包,制作图表然后使用chart.SaveHTMLAs<>并给它起一个名字。然后,使用 webBrowser 对象导航到 html.

这是我的代码:

        Plotly.NET.GenericChart.GenericChart point3Dchart =  Plotly.NET.Chart3D.Chart.Point3D<int, int, int, int>(tuppList, "p");
        point3Dchart.SaveHtmlAs<int>("a", null);
        //point3Dchart.Show(); // Will open firefox
        webBrowser1.Navigate(@"C:\...\bin\Debug\a.html");

我现在不确定为什么 SaveHTMLAs 要求 <> 但写 int 似乎有效!