我有一個簡單的圖表,其中一條線從負面到正面:它橫過水平軸。爲了便於閱讀,我確實將AxisY交叉點設置爲零。MS Chart:如何將軸標籤放置在它的擴展中
ChartAmortisation.ChartAreas("Amortisation").AxisY.Crossing = 0
但這樣做,我的x軸的標籤保持低於在圖表下方,而x軸以上圖表區的中間。
如何在軸上或旁邊設置AxisX標籤?
我有一個簡單的圖表,其中一條線從負面到正面:它橫過水平軸。爲了便於閱讀,我確實將AxisY交叉點設置爲零。MS Chart:如何將軸標籤放置在它的擴展中
ChartAmortisation.ChartAreas("Amortisation").AxisY.Crossing = 0
但這樣做,我的x軸的標籤保持低於在圖表下方,而x軸以上圖表區的中間。
如何在軸上或旁邊設置AxisX標籤?
我成功使用Annotations
。爲了保持視覺連貫性,我爲這兩個軸做了這個。這是我的垂直軸代碼。
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的Designer中設置這些幫助我可視化結果將會是什麼,但是在運行時不顯示任何東西。
最後,這裏是它現在的樣子。
的標籤位於圖表您更方便的內將它們
我不認爲這是可以做到你想要什麼,除非你從MS圖表類派生,並重寫它繪製軸標題的方式。
相反,您可以將X軸保留在底部,然後檢測0值(零)是否在Y值之間,並且如果是這種情況 - 在y = 0處繪製自定義水平線。
感謝,這也將是一個很好的解決方案(否則我應該在軸上的數字的大小麻煩)。我更喜歡我剛剛發佈的解決方案,甚至更復雜,並且缺點是在軸的「內側」上有標籤。 – Nicolas