簡體   English   中英

c#Winform MSChart反轉Y軸

[英]c# Winform MSChart reverse Y Axis

我在 Windows 窗體上使用 MSChart 控件。

我試圖通過使用AxisY.IsReversed = true使Y 軸下降,但仍將 X 軸保持在底部。 默認情況下,當我使用AxisY.IsReversed = true ,X 軸AxisY.IsReversed = true頂部。 然后我嘗試設置AxisY.Crossing = Max將軸翻轉到 Y 軸的最大端(位於底部),但它不會低於 X 軸,它只會在它上方移動.

請幫我!!!!!

您描述的行為與 Microsoft 演示項目中顯示的行為相同。 我相信沒有任何調整可以使 X 軸的標簽簡單地出現在 X 軸下方,因為沒有與Axis.LabelPosition屬性類似的Axis.LabelPosition ,它會指定標簽應該在軸下方。

當您指定chart1.ChartAreas[0].AxisX.IsMarksNextToAxis = false; ,然后標簽出現在圖表的頂部,而不是根據需要出現在底部。

您可以使用的唯一調整是不要設置AxisY.IsReversed = true; ,但讓你所有的 Y 值*-1 (使它們為負)。 然后使用LabelStyle.Format將負數格式化為正數。

chart1.ChartAreas[0].AxisY.IsReversed = false;               
chart1.ChartAreas[0].AxisY.LabelStyle.Format = "##.##;##.##;##.##";

如果您不能或不想更改數據源,還有另一種可能性。

如果 y 軸反轉,則 x 軸繪制在頂部而不是底部。 這無法更改,但可以為圖表系列設置應使用輔助 x 軸。

series.XAxisType = AxisType.Secondary;

現在輔助軸總是繪制在主軸的另一側,即在這種情況下在底部 - 這正是您在這種情況下想要的。

請注意,必須以與主軸相同的方式配置從軸(例如設置最小值或最大值)

//Primary
chartArea.AxisX.IsReversed = chartDefinition.XAxis.InvertAxis;
chartArea.AxisX.Minimum = minimum;
chartArea.AxisX.Maximum = maximum;

//Secondary
chartArea.AxisX2.Minimum = minimum;
chartArea.AxisX2.Maximum = maximum;

這同樣適用於 y 軸。

對我來說效果很好。

暫無
暫無

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

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