2013-03-14 76 views
2

我正在嘗試適應爲iOS開發的Shinobi圖表。我已經下載了試用版,並嘗試使用它來繪製一些示例圖表。這些圖表在演示應用程序中看起來不錯。但有一件事我注意到,在使用SChartColumnSeries類繪製條形圖時,根據可用於繪製圖表的框架調整條的寬度。我希望它是固定的(比如20個像素),不管存在多少酒吧,並且如果所需的寬度大於指定的寬度(將圖框分配給圖表),則只有部分圖表可見,用戶可以滾動查看剩餘條的圖表(這可以在Core Plot中實現)。如何使用Shinobi圖表來實現這一點?如何在Shinobi Charts中將條寬設置爲固定值?

回答

1

這是Shinobi可能的,但它恐怕不是一個設置固定寬度屬性的簡單情況。我只是試圖做到這一點,但它並不複雜!

我的建議是建立圖表所示:

chart = [[ShinobiChart alloc] initWithFrame:self.view.bounds]; 
[chart setAutoresizingMask:UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth]; 
[chart setDatasource:d]; 

[chart setXAxis:[SChartNumberAxis new]]; 
[chart setYAxis:[SChartNumberAxis new]]; 
[[chart xAxis] setEnableGesturePanning:YES]; 
[[chart xAxis] setEnableGestureZooming:NO]; 

[chart.xAxis setDefaultRange:[[SChartNumberRange alloc] initWithMinimum:@5 andMaximum:@10]]; 

最重要的部分是最後3行。通過關閉縮放,您可以讓圖表具有固定的縮放級別,這意味着條形保持相同的寬度。您可以開啓平移以允許用戶滾動查看不同的小節。

最後一行設置默認範圍。在這裏,我將它設置爲5到10之間的值。這意味着圖表沿着x軸顯示5到10之間的值。

通過這樣做,這意味着您的列將有一個固定的寬度!您可能需要進行一些調整和/或計算,具體取決於您擁有多少個數據點,以便找出您必須設置的默認範圍。例如,如果它們是可變的,則需要考慮數據點的數量,列之間的填充和列間填充以及可用的像素數量)。

我意識到這是一個相當簡單的答案,但它應該給你一個很好的起點!

+0

謝謝你......會試試這個。我擔心Shinobi框架的演示不會透露其所有功能。 – Yogi 2013-03-14 11:42:32

相關問題