Диаграмма F# Нет автоматической настройки диапазона оси?
Это на самом деле не проблема, а скорее вопрос. Я использую FSharp.Charting, чтобы наметить несколько быстрых вещей. Одна вещь, которую я заметил, состоит в том, что диаграмма не устанавливает автоматически пределы оси для вас. Скажем, у меня есть список чисел, который имеет значения от 100 000 до 200 000. Ось Y по-прежнему будет основана на 0. Она не масштабируется, чтобы дать вам хороший обзор данных. Вы должны сделать это самостоятельно. Или, может быть, есть способ, и я просто еще не разобрался. Кто-нибудь еще сталкивался с этим вопросом? Какие-либо предложения?
1 ответ
Я искал код диаграммы FSharp на GitHub и не нашел ничего встроенного, что могло бы сделать автоматическое выравнивание любой оси. Лучшее, что можно сделать, это сделать это вручную или написать функцию, чтобы просмотреть все значения и затем установить их на основе этого.
Поскольку вы не указали в своем вопросе, как установить его вручную, я приведу его здесь для тех, кто не знает, как это делается.
Для ручной установки оси Y используйте WithYAxis
let xs1 = [ for x in (double)(-100.0) .. 1.0 .. 100.0 do yield x]
let ys1 = xs1 |> List.map (fun x -> x**4.00)
let values1 = List.zip xs1 ys1
Chart.Line(values1)
.WithXAxis(Min=(-30.0), Max=(30.0), MajorTickMark = ChartTypes.TickMark(Interval=10.0, IntervalOffset = 5.0, LineWidth = 2))
.WithYAxis(Min=(100000.0), Max=(200000.0), MajorTickMark = ChartTypes.TickMark(Interval=20000.0, IntervalOffset = 10000.0, LineWidth = 2))