XPlot离线使用

时间:2019-12-09 10:27:46

标签: c# plot charts offline

现在,如果我使用此代码:

var chart = Chart.Plot(new[]
{
    new Graph.Scatter()
    {
          x = data.Select(o => o.X),
          y = data.Select(o => o.Y),
          name = "Loss",
          mode = "lines"
     }
});

chart.WithXTitle("Xs");
chart.WithYTitle("Ys");
chart.WithTitle("Chart title");

File.WriteAllText("C:\\Users\\picolino\\Documents\\chart.html", chart.GetHtml());

它通过Web直接生成了一个直接引用ploty-latest.min.js的html文件:

<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>

那么我可以使用XPlot库导出交互式(html + js)或至少静态(图像)图表以供离线使用吗?

1 个答案:

答案 0 :(得分:1)

在此处的库的github页面上已经有对此功能的请求:https://github.com/fslaborg/XPlot/issues/43

如果要将其另存为图像或pdf,则可以使用将html转换为这些文件格式的库。但是,这将删除图的动态特征。

另一种解决方案是在本地计算机上获取javascript:

您可以将plotly-latest.min.js文件下载到本地输出文件夹并替换为:
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
与此:
<script src="/plotly-latest.min.js"></script>

您可以通过在c#中打开文件并以编程方式执行字符串替换来替换它。 但是,这意味着您将不会获得这些图形的最新版本和错误修复