Deedle DataFrame または Series を FSharp.Charting でプロットする場合、FSLAB はさまざまな Chart 関数を便利にオーバーロードして Series を直接操作します。だから私はSeries(x,y) |> Chart.Column
例えばすることができます。ただし、Deedle と FSharp.Charting をコンパイルすると、直接参照され、シリーズを Series.observations にキャストする必要があります。Series(x,y) |> Series.observations |> Chart.Column
回避する方法はありSeries.observations
ますか?それとも、さまざまなチャート関数すべてに対して拡張メソッドを定義する必要がありますか? Plotting Deedle フレームで提案されているのはどれですか
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