2013-03-14 44 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

相关问题