Ios 如何在Shinobi图表中将条形宽度设置为固定值?

Ios 如何在Shinobi图表中将条形宽度设置为固定值?,ios,graph,charts,bar-chart,shinobi,Ios,Graph,Charts,Bar Chart,Shinobi,我正在努力适应为iOS开发的Shinobi图表。我在同一个平台上下载了试用版,并试图用它绘制一些示例图表。这些图表在演示应用程序中看起来相当不错。但有一件事我注意到,当使用SChartColumnSeries类绘制条形图时,条形图的宽度会根据可用于绘制图表的框架进行调整。我希望它是固定的(比如说20像素),而不考虑存在的条数,如果所需的宽度大于指定的宽度(在为图表指定帧时),那么只有图表的一部分是可见的,用户可以滚动图表以查看剩余的条(这在Core Plot中是可能的)。如何使用Shinobi图

我正在努力适应为iOS开发的Shinobi图表。我在同一个平台上下载了试用版,并试图用它绘制一些示例图表。这些图表在演示应用程序中看起来相当不错。但有一件事我注意到,当使用SChartColumnSeries类绘制条形图时,条形图的宽度会根据可用于绘制图表的框架进行调整。我希望它是固定的(比如说20像素),而不考虑存在的条数,如果所需的宽度大于指定的宽度(在为图表指定帧时),那么只有图表的一部分是可见的,用户可以滚动图表以查看剩余的条(这在Core Plot中是可能的)。如何使用Shinobi图表实现这一点?

这在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]];
最重要的部分是最后三行。通过关闭缩放功能,您可以使图表具有固定的缩放级别,这意味着条形图的宽度保持不变。您可以打开“平移”以允许用户滚动查看不同的条

最后一行设置默认范围。在这里,我刚刚将其设置为5到10之间的值。这意味着图表沿x轴显示介于5和10之间的值

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


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

谢谢,老兄…我会试试这个。我担心Shinobi框架的演示并没有揭示它的所有特性。