2011-12-30 81 views
0

我正在使用Silverlight 4.0和Silverlight 4.0的Telerik RadChart控件。我有一個問題,因爲我認爲我的數據集中存在差異,這會導致我的較大堆積條被截斷到ChartArea中。沒問題,我想,我可以遍歷所有數據並找到我的StackedBar必須的最大尺寸,並調整y軸的比例。這是我選擇實施的方法。爲什麼我的RadChart StackedBarChart不能堆疊酒吧來匹配Y軸?

private void ForceScaleOfYaxis(IEnumerable<ChartObject> chartData) 
    { 
     double sum = 0; 
     foreach (var bar in chartData) 
     { 
      sum = Math.Max(sum, bar.Series1 + 
           bar.Series2 + 
           bar.Series3 + 
           bar.Series4 + 
           bar.Series5); 
     } 

     ChartArea chartArea = radChart1.DefaultView.ChartArea; 
     chartArea.AxisY.AutoRange = true; 
     double min = chartArea.AxisY.ActualMinValue; 
     double step = sum/10; 
     chartArea.AxisY.AutoRange = false; 
     chartArea.AxisY.AddRange(min, sum, step); 
    } 

這很有效,因爲它將y軸更改爲等於堆疊鋼筋的最大系列值之和。

現在我有一個不同的問題:我正確設置y軸的比例,但圖表不顯示堆疊。 Stacked Bar Chart

可以在下面的圖表中看到這一點,如此屏幕截圖所示。

+1

恐怕我無法重現您的問題。是否有可能提供更多關於它的信息,如圖表XAML,或者甚至可以放在一起顯示問題的[SSCCE](http://sscce.org)?我也對Y軸上的步驟數量感到困惑:你的代碼片段將其限制爲10,但上面的圖片顯示的比這更多。 – 2011-12-30 21:14:39

+0

我將不得不付出一些努力去做一個足夠清晰的例子。這將需要一些時間。 – Blanthor 2012-01-04 18:30:58

回答

0

我不認爲這與由YAxis範圍引起的條塊剪切有關,而是您將數據分組並填充圖表的方式。 你的一個示例項目應該對真實問題提供更多的信息。