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指的是 F# Charting Library 源代码中的一种类型,而不是 .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>; ]

我会将此信息发送给库的当前维护者,以确保下一个版本包含对此的修复。感谢您报告问题!

于 2011-07-26T16:43:38.580 回答