0

FSharp.Charting 0.87 を使用して、線形関数の非常に基本的なグラフを描画しています。Y 軸のラベルを通常の位置に戻す方法はありますか? つまり、「Y」を 90 度回転させずに、通常の向きにすることはできますか?

つまり、Axis.TextOrientationがどこかに公開されているのだろうか。

コードは次のとおりです。

#load "packages/FSharp.Charting.0.87/FSharp.Charting.fsx"    
open FSharp.Charting
open System.Drawing
Chart.Line([0,0;1,0;2,1;3,1;5,0; 6,0])
            .WithYAxis(Title = "Y", TitleAlignment = StringAlignment.Far)
            .WithXAxis(Title = "x", TitleAlignment = StringAlignment.Far)
            .ShowChart()
4

1 に答える 1

1

他の誰かがそれを必要とする場合に備えて、問題を回避するためのハックを次に示します。つまり、Chart オブジェクトのプロパティを取得するには、最初に ChartControl を作成する必要があります。

#load "packages/FSharp.Charting.0.87/FSharp.Charting.fsx"    
open FSharp.Charting
open FSharp.Charting.ChartTypes
open System.Drawing
open System.Windows.Forms

let chart = Chart.Line([0,0;1,0;2,1;3,1;5,0; 6,0])
                    .WithYAxis(Title = "Y", TitleAlignment = StringAlignment.Far)
                    .WithXAxis(Title = "x", TitleAlignment = StringAlignment.Far)
let ctrl = new ChartControl(chart, Dock=DockStyle.Fill)
let chartObj = ctrl.Controls |> Seq.cast<Control> |> Seq.pick (function | :? DataVisualization.Charting.Chart as x -> Some x | _-> None)
chartObj.ChartAreas.[0].AxisY.TextOrientation <- DataVisualization.Charting.TextOrientation.Horizontal
let form = new Form(Visible = true, TopMost = true, Width = 700, Height = 500)
form.Controls.Add(ctrl)
form.Show()
于 2013-11-07T15:54:42.967 に答える