2016-02-12 6 views
1

Это не проблема, а вопрос. Я использую FSharp.Charting, чтобы нарисовать несколько быстрых вещей. Одна вещь, которую я заметил, это то, что диаграмма автоматически не устанавливает для вас пределы оси. Скажем, у меня есть список чисел, который имеет значения от 100 000 до 200 000. Ось y будет по-прежнему базироваться на 0. Она не масштабируется, чтобы дать вам хороший обзор данных. Вы должны сделать это сами. Или, может быть, есть способ, и я еще не понял этого. Кто-нибудь еще столкнулся с этой проблемой? Какие-либо предложения?F # Диаграмма Нет Автоматическая установка диапазона оси?

ответ

1

Я искал FSharp charting code на 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)) 

enter image description here