【问题标题】:Is it possible to use Plotly.js in a C# Winforms WebBrowser component?是否可以在 C# Winforms WebBrowser 组件中使用 Plotly.js?
【发布时间】:2023-03-16 09:44:01
【问题描述】:

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

具体来说,我在运行程序时收到以下错误:“Plotly 未定义。”将相同的代码粘贴到名为 index.html 的文件中时,双击后,它会在 FireFox 浏览器窗口中正确加载和运行。一定是非常简单的新手,或者只是无知。

这里是 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>

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

【问题讨论】:

    标签: c# winforms webbrowser-control plotly


    【解决方案1】:

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

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

    【讨论】:

    • 试过 CefSharp 组件,它运行正常(显然),因为我有一些警报,但得到同样的错误!在我捕获的控制台消息中。不过,不错的尝试。我接下来试试注册表方法。
    • 我在将注册表值设置为00002af9 后测试了您的代码,它工作正常。我在测试时确实将脚本 src 设置为 https://cdn.plot.ly/plotly-latest.min.js
    • 用你的src再试了一次,这次成功了。感谢您一直以来的耐心,只有我自己的毅力才能与之匹敌......真的很想让它发挥作用!
    • 想知道使用本地文件有什么问题...我敢肯定这只是另一个障碍!
    • 您可以使用file:// 链接从本地文件夹加载它。结帐stackoverflow.com/a/7194956/1311748。祝你好运!
    【解决方案2】:

    也许太老了,无法回答,但我只是尝试这样做,现在似乎可行:

    使用 Plotly.NET 包制作图表,然后使用chart.SaveHTMLAs&lt;&gt; 并为其命名。然后,使用 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 要求&lt;&gt; 但写int 似乎有效!

    【讨论】:

      猜你喜欢
      • 2014-03-17
      • 2011-03-21
      • 1970-01-01
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 2011-04-13
      • 1970-01-01
      • 2010-09-15
      相关资源
      最近更新 更多