Построение серии Deedle с помощью FSharp.Charting в FSLAB и скомпилированном exe
При построении графического элемента данных Deedle или серии с помощью FSharp.Charting FSLAB удобно перегружает различные функции диаграммы для непосредственной работы с сериями. Так что я могу сделать Series(x,y) |> Chart.Column
например. Однако при компиляции Deedle и FSharp.Charting ссылаются напрямую, и Series необходимо привести к Series.o bservations Series(x,y) |> Series.observations |> Chart.Column
Есть ли способ избежать Series.observations
? Или мне нужно определить метод расширения для всех различных функций построения диаграмм? Что и предлагается в Plotting Deedle frame
Вот код, который я использовал, который работает как в FSI, так и в.exe:
#if INTERACTIVE
#load @"..\..\FSLAB\packages\FsLab\FsLab.fsx"
#r @"Deedle"
#r @"Fsharp.Charting"
#endif
open System
open Deedle
open FSharp.Charting
open FSharp.Charting.ChartTypes
open System.Drawing
open System.Windows.Forms
[<STAThread>]
[<EntryPoint>]
let main argv =
let x = ['a'..'j'] |> List.map string
let y = [1..10]
let chart1 = Series(x,y) |> Series.observations |> Chart.Column
let myChartControl = new ChartControl(chart1, Dock=DockStyle.Fill)
let form = new Form(Visible = true, TopMost = true, Width = 700, Height = 500)
form.Controls.Add(myChartControl)
do Application.Run(form) |> ignore
1 ответ
Удобные перегрузки определены в FsLab.fsx
файл, который загружается при ссылке на FsLab из файла сценария. Вы можете увидеть их в исходном коде здесь.
Мы хотели бы перенести их в dll
Вы могли бы сослаться, но на данный момент самый простой вариант - скопировать помощников в отдельный файл в вашем проекте и просто иметь локальную копию.