如何在Shinobi Charts中将条宽设置为固定值?

时间:2013-03-14 09:46:41

标签: ios graph charts bar-chart shinobi

我正在尝试习惯为iOS开发的Shinobi图表。我已经下载了试用版,并尝试使用它绘制一些示例图表。这些图表在演示应用程序中看起来很不错但有一件事我注意到,当使用类SChartColumnSeries绘制条形图时,条形的宽度根据可用于绘制图表的框架进行调整。我希望它固定(比如说20个像素),无论存在多少个条形,如果所需的宽度大于指定的宽度(在将图表分配给图表时),那么只有图表的某些部分可见,用户可以滚动查看剩余柱的图表(这在Core Plot中是可能的)。如何使用Shinobi图表实现这一目标?

1 个答案:

答案 0 :(得分: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之间的值。

通过执行上述操作,这意味着您的列将具有固定的宽度!根据您拥有的数据点数量,您可能需要进行一些调整和/或计算,以便找出将默认范围设置为的内容。例如,如果它们是变量,则需要考虑数据点的数量,列之间的填充和列间填充以及可用的像素数。)

我意识到这是一个非常简单的答案,但它应该给你一个很好的起点!