我无法弄清楚如何更改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
答案 0 :(得分: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>; ]
我会将此信息发送给库的当前维护者,以确保下一版本包含针对此的修复程序。感谢您报告此问题!