線が負から正に上昇する単純なチャートがあります。それは水平軸と交差しています。読みやすくするために、AxisYの交差をゼロに設定しました。
ChartAmortisation.ChartAreas("Amortisation").AxisY.Crossing = 0
しかしそうすることで、x軸のラベルはチャートの下の下部にとどまり、x軸はチャート領域の中央の上部になります。
AxisXラベルを軸の下、または軸の横に設定するにはどうすればよいですか?
線が負から正に上昇する単純なチャートがあります。それは水平軸と交差しています。読みやすくするために、AxisYの交差をゼロに設定しました。
ChartAmortisation.ChartAreas("Amortisation").AxisY.Crossing = 0
しかしそうすることで、x軸のラベルはチャートの下の下部にとどまり、x軸はチャート領域の中央の上部になります。
AxisXラベルを軸の下、または軸の横に設定するにはどうすればよいですか?
MS Chartクラスから派生させて、軸タイトルを描画する方法をオーバーライドしない限り、あなたが望むことはできないと思います。
代わりに、X 軸を下に置いたままにして、0 (ゼロ) 値が Y 値の中にあるかどうかを検出し、そうである場合は、y = 0 にカスタムの水平線を描画します。
を使用して成功しAnnotations
ました。視覚的な一貫性を維持するために、2 つの軸に対してこれを作成しました。縦軸のコードは次のとおりです。
Dim caLabelAxisY As New TextAnnotation
With caLabelAxisY
.AnchorX = 0
.AxisX = ChartAmortisation.ChartAreas(0).AxisX
.AnchorY = ChartAmortisation.ChartAreas(0).AxisY.Maximum
.AxisY = ChartAmortisation.ChartAreas(0).AxisY
.Name = "Label AxisY"
.Text = "Investition / Überschuss"
.Font = New Font("Microsoft Sans Serif", 9, FontStyle.Bold)
.AnchorAlignment = ContentAlignment.TopLeft
End With
不思議なことに、 の設定はAnchorY
チャートの名前では機能せず、そのインデックスでのみ機能しました。これの意味は:
'What works:
caLabelAxisY.AnchorY = ChartAmortisation.ChartAreas(0).AxisY.Maximum
'What doesnot work:
caLabelAxisY.AnchorY = ChartAmortisation.ChartAreas("Amortisation").AxisY.Maximum
また、これはAnnotations
プログラムで設定した場合にのみ機能しました。これらを Visual Studio 2010 のデザイナーで設定すると、結果がどうなるかを視覚化するのに役立ちましたが、実行時には何も表示されませんでした。
そして最後に、現在の様子です。
ラベルは、より便利にチャート内に配置されています (それ以外の場合は、軸上の数値のサイズを気にする必要があります)。