我正在尝试在使用XPlot.Plotly
包F#
创建的演示文稿中包含使用FsReveal
生成的图表。我只需使用.fsx
文件启动并运行演示文稿:
(**
- title : Testing FsReveal
- description : Testing FsReveal
- author : You
- theme : moon
- transition : none
***
### Syntax Highlighting
#### F# (with tooltips)
*)
#r "../packages/XPlot.Plotly/lib/net45/XPlot.Plotly.dll"
open XPlot.Plotly
let scatter =
Scatter(
x = [0; 1; 2; 3; 4; 5],
y = [1.5; 1.; 1.3; 0.7; 0.8; 0.9],
mode = "markers"
)
let layout =
Layout(
showlegend = false,
title = "Here's a test!"
)
let data = seq [scatter]
let aPlot = Plotly.Plot(data, layout)
(**
***
## Literate Slides with FsReveal
<br />
FsReveal may embed the chart here:
*)
aPlot.Show()
但最终aPlot.Show()
语句只会在浏览器的新窗口中打开地图aPlot
。
如何在幻灯片中嵌入绘图?
我现在唯一可以看到的工作是使用aPlot.Show()
在浏览器窗口中查看图片,将图表保存为.png
,然后参考.fsx
中的图表文件,但这似乎特别麻烦。是否有更简单的方法在FsReveal演示中包含Plotly图?
我不需要Plotly情节的“互动性”,但我喜欢能够控制情节的样子,因此我在F#中使用了Plotly。
感谢。
答案 0 :(得分:1)
我确实有一个在我的文字编程谈话中在FsReveal中嵌入图表的例子。这有点老了,我认为FsReveal可能会有所改变,但关键技巧应该是相同的。
要嵌入图表,您需要添加a few special commented commands:
(**
## Slide with code sample
*)
(*** define-output:chart ***)
Chart.Line [ for x in 0.0 .. 10.0 -> x, sin x ]
(**
-------------------------------------------------------------------------------
## Slide with output
*)
(*** include-it:chart ***)
有一些关于embedding works on F# Formatting web。
的文档它需要的另一部分是在build.fsx
中设置FSI评估器。你需要line that calls wrapFsiEvaluator
here(谈话中有一些与ToHtml
方法相关的东西,这是其他东西而你不需要它。)