2016-04-15 49 views
0

我正在使用Visual Studio 2015,C#,WinForms。爲什麼圖表不顯示附加點?

我剛添加從工具箱和改變的類型,以線正常圖表,然後加入以下代碼:

chart1.ChartAreas[0].AxisX.LabelStyle.Format = "HH"; 
chart1.ChartAreas[0].AxisX.Interval = 1; 
chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Hours; 
chart1.ChartAreas[0].AxisX.IntervalOffset = 0; 
chart1.ChartAreas[0].AxisX.IsMarksNextToAxis = true; 
chart1.ChartAreas[0].AxisX.IsStartedFromZero = true; 
DateTime minDate = DateTime.Today; 
DateTime maxDate = minDate.AddHours(23); 
chart1.ChartAreas[0].AxisX.Minimum = minDate.ToOADate(); 
chart1.ChartAreas[0].AxisX.Maximum = maxDate.ToOADate(); 
chart1.Series[0].BorderWidth = 2; 
for (int i = 0; i < 24; i++) 
{ 
    chart1.Series[0].Points.AddY(i); 
} 

輸出:

Output

爲什麼圖表未示出點數已添加?

+0

它們可能超出了AxisX.Minimum和AxisX.Maximum的極限。在調試器中查看參與變量的值。你會看到雙。這應該清除問題.. – TaW

回答

0

我想你好想X值

chart1.Series[0].Points.Add(new Point(x, y)); 

EDIT(在X = 0的所有點抽獎?):錯了。

問題是,您的minX軸上的值是42475.0,請檢查調試。最大值是42475,9583333333。所以你不會看到你的價值Xc < 0,24)。更改您的X ax limes :)

+0

我應該使用哪些限制? – Fran

+0

取決於你想要的X軸?圖表1.系列[0] .Points.AddXY(new Point(i + minDate.ToOADate(),y)); 然後,你應該從你的座標軸的最小值和間隔1(從我遞增)得到X點。 但即使是你的斧是42475.0 - 42475,9583333333所以範圍小於1.重新組織:) – Elektryczny

0

您正在將XAxis範圍(最小值和最大值)設置爲非常大的值,請參閱DateTime.ToOADate的文檔。

您也可能只設置將這些附加到您的數據點集合的Y點值,其結果取決於您使用的圖表類型(您沒有指定)。

+0

我指定我使用線型,我應該使用哪種範圍?這些文檔並沒有太多的說實話。 – Fran

+0

這取決於你想要顯示的軸,你可能想嘗試一個最小值爲0,最大值爲23的起點。 –