我不知道如何在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
这是库中的一个错误。如果您想自己修复它,请下载源代码并找到定义typesToClone
的一行。它应该看起来像这样:
let typesToClone =
[ typeof<LabelStyle>; typeof<Axis>; typeof<Grid>; typeof<TickMark>
typeof<ElementPosition>; typeof<AxisScaleView>; typeof<AxisScrollBar>; ]
这定义了一个类型列表,这些类型的属性在创建图表时被复制。问题是名称LabelStyle
指的是f#图表库源代码中的一种类型,而不是。net图表控件类型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>; ]
我将把这个信息发送给当前库的维护者,以确保下一个版本包含对这个问题的修复。谢谢你报告这个问题!