2016-11-11 7 views
2

F#対話型コンソールで次のコードを評価しようとすると、3つの区切られたチャートウィンドウ(chartA用、チャート用、チャート用)が得られます。それが作成されるたびにグラフを表示しないようにするにはどうすればいいですか?結合されたチャートのみを単一のチャートウィンドウに表示したい。FSharp.Chartingは、インタラクティブモードで各チャートごとに区切られたウィンドウを表示します

let chartA = setA |> Chart.Point |> Chart.WithSeries.Style(System.Drawing.Color.Orange) 
let chartB = setB |> Chart.Point |> Chart.WithSeries.Style(System.Drawing.Color.Gold) 
let chartC = Chart.Combine [|chartA; chartB|] 

答えて

4

あなたは動作しているよう

let chartC = 
    let chartA = setA |> Chart.Point |> Chart.WithSeries.Style(System.Drawing.Color.Orange) 
    let chartB = setB |> Chart.Point |> Chart.WithSeries.Style(System.Drawing.Color.Gold) 
    Chart.Combine [|chartA; chartB|] 

それとも地元

let chartC (setA:seq<float*float>) (setB:seq<float*float>) = 
    [| setA |> Chart.Point |> Chart.WithSeries.Style(System.Drawing.Color.Orange) ; 
     setB |> Chart.Point |> Chart.WithSeries.Style(System.Drawing.Color.Gold) |] 
    |> Chart.Combine 
+0

ずにスコープを使用することができます。これらのアプローチがなぜこのトリックを行うのか説明してください。 – cezarypiatek

+2

@cezarypiatekあなたのアプローチでは、各行はF#Interactiveで別々に評価され、それぞれに対して「Chart」が生成されます。私のアプローチでは、 'let'に続くブロック全体が一度に評価され、結果だけがプロットされます。 – Funk

関連する問題