2016-08-05 97 views
1

我在MS Windows圖表中發現了一個奇怪的行爲。在MS Chart控件中繪製x = 0的兩個y值

假設我想要有兩點(1,10)和(1,20)的散點圖。我可以這樣做:

.... 
Series series = new Series(); 
series.ChartType = SeriesChartType.Point; 
double[] x = { 1, 1 }; 
double[] y = { 10, 20 }; 
series.Points.DataBindXY(x, y); 

工作正常。但是現在我想要相同的結果,但是這兩個x值應該是0

double[] x = { 0, 0 }; 
double[] y = { 10, 20 }; 
series.Points.DataBindXY(x, y); 

在這種情況下的圖表控制創建在「自動生成」×1位和兩個數據點2.它只是忽略給定的x值。如果我使用的是相同的行爲

series.Points.AddXY(0, 10); 
series.Points.AddXY(0, 20); 

我對兩個以上的數據點的效果相同。所以事實證明,如果至少有一個x值不爲零,則散點圖不起作用。

我認爲可能的解決方法是使用多個系列,但這是不可接受的。

有沒有人有這種行爲的解釋或解決方案?

回答

3

我找到了解決的自己:

你必須

series.CustomProperties = "IsXAxisQuantitative=True"; 

添加到您的代碼。所以x值真的被視爲值。我不知道爲什麼如果我使用BindXY函數,這不是不言而喻。

+0

大男人,你救了我的一天:-) – eljobso

+1

'系列[「IsXAxisQuantitative」] =「真」;'等同,但將避免覆蓋任何現有的自定義屬性。 –