簡體   English   中英

標簽和y軸之間的邊距(如果x軸上的標簽以角度顯示)

[英]Margin between labels and y-axis, if labels on x-axis are shown with angle

最近,我不得不更改x軸標簽的大小,以確保打印時它們清晰易讀。 這樣做,在標簽和軸本身之間出現了一個邊距,這似乎取決於字體大小和數據點的數量。

當移除標簽上的角度(AxisX.LabelStyle.Angle = 0)時,此空白似乎消失了。 不幸的是,這不是解決方案,因為標簽上的角度是項目的要求。

設置IsMarginsVisible不能解決問題。

有什么辦法可以消除這種余量?

屏幕截圖顯示了問題:

有角度和意外的余量 沒有邊距,但是沒有角度

顯示此問題的MCVE可以在這里找到: https ://www.dropbox.com/s/4y0nwj8bymz6m3q/MSChart%20-%20misplaced%20labels.zip?dl =0

請注意:前一段時間,如果元素數量變大,但仍然無法解決( MSChart軸放錯了大圖表的位置 ),我遇到了類似的問題。 我有任何問題和建議,可以避免讓這個問題像其他問題一樣不受歡迎。

PS:如果您有反對這個問題的強烈願望,請告訴我原因,以便我可以嘗試改進它(因為我無法看到自己不清楚該問題是什么,也缺少缺失的跡象)。 謝謝。

不幸的是,我認為這是所有條形圖的錯誤。 由於問題被否決,因此需要澄清:頁邊距(如果將位置從“自動”更改為0,0,100,100,則為空白)在圖表底部(對於X型條形圖為Y軸)出現軸文本通過chart1.ChartAreas[0].AxisX.LabelStyle.Angle = 30;傾斜chart1.ChartAreas[0].AxisX.LabelStyle.Angle = 30; 如提供的示例或例如 chart1.ChartAreas[0].AxisX.LabelAutoFitStyle = LabelAutoFitStyles.LabelsAngleStep30;

我懷疑蜂鳴這種奇怪的行為有兩個原因,即:

  1. 如果在提供的代碼中壓縮圖表的寬度(與問題中的屏幕快照相同),則邊距將一起增加,而正確的行為將保持不變。
  2. 您可以通過將圖表類型更改為任何類型的柱形圖來進一步驗證這一點
  3. 更重要的是,此行為僅在主要X軸上可見,而在次要X軸上不明顯。

我嘗試了CustomLabels並反轉了X軸,而是使用了次要Y軸,但是底部的任何軸都會錯誤地計算出它的大小。 即使使用輔助Y軸,實際上也必須禁用主Y軸以避免底部的空白縮放。

這意味着最明顯的選擇可悲地簡化為:

  • 需要大量工作,您可以使用Post_Paint事件繪制自己的標簽( 示例
  • 如果可能,請考慮運行正常的柱形圖
  • 或者改用頂部的輔助Y軸

后者都極大地改變了圖表的外觀,但確實讓您可以控制邊距。 結論:不,這似乎是一個錯誤,無法通過設置“正確的”屬性來刪除邊距。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM