1

FSharpChart.WithAreaの軸のフォントを変更する方法がわかりません。

これは、問題を表示するために私が思いついた最短の例です(少なくとも私のマシンでは)。

#r "System.Windows.Forms.DataVisualization.dll"
#r "MSDN.FSharp.Charting.dll"
open System.Windows.Forms.DataVisualization.Charting
open MSDN.FSharp.Charting
open System.Drawing

let font = new Font("Wingdings", 10.0F)

FSharpChart.FastLine([(0.,1.);(10., 10.)])
|> FSharpChart.WithArea.AxisX(LabelStyle = new LabelStyle(Font = font))
|> FSharpChart.WithCreate
4

1 に答える 1

4

これはライブラリのバグです。自分で修正したい場合は、ソース コードをダウンロードして、 を定義している行を見つけてtypesToCloneください。次のようになります。

let typesToClone = 
    [ typeof<LabelStyle>; typeof<Axis>; typeof<Grid>; typeof<TickMark>
      typeof<ElementPosition>; typeof<AxisScaleView>; typeof<AxisScrollBar>; ]

これは、チャートの作成時にプロパティがコピーされるタイプのリストを定義します。問題は、名前LabelStyleが .NET チャート コントロールの type ではなく、F# Charting Library のソース コード内の型を参照していることSystem.Windows.Forms.DataVisualization.Charting.LabelStyleです。完全な型名を使用して修正できます。

let typesToClone = 
    [ typeof<System.Windows.Forms.DataVisualization.Charting.LabelStyle>; 
      typeof<Axis>; typeof<Grid>; typeof<TickMark>
      typeof<ElementPosition>; typeof<AxisScaleView>; typeof<AxisScrollBar>; ]

この情報をライブラリの現在のメンテナに送信して、次のバージョンにこれに対する修正が含まれていることを確認します。問題を報告していただきありがとうございます。

于 2011-07-26T16:43:38.580 に答える