Axis LabelStyle не работает в FSharpChart?
Я не могу понять, как изменить шрифт на осях в 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
1 ответ
Это ошибка в библиотеке. Если вы хотите исправить это самостоятельно, загрузите исходный код и найдите строку, которая определяет 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>; ]
Я отправлю эту информацию текущим сопровождающим библиотеки, чтобы убедиться, что в следующей версии исправлено это. Спасибо за сообщение о проблеме!