我正在努力适应为 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] initWithMinimum5 andMaximum10]];
最重要的部分是最后 3 行。通过关闭缩放,您可以让图表具有固定的缩放级别,这意味着条形保持相同的宽度。您可以打开平移以允许用户滚动查看不同的条形图。
最后一行设置默认范围。在这里,我刚刚将其设置为 5 到 10 之间的值。这意味着图表沿 x 轴显示 5 到 10 之间的值。
通过执行上述操作,这意味着您的列将具有固定宽度!您可能需要根据您拥有的数据点数量进行一些调整和/或计算,以便找出您必须将默认范围设置为的内容。例如,如果它们是可变的,则需要考虑数据点的数量、列之间的填充和列间的填充以及可用像素的数量。
我知道这是一个相当简单的答案,但它应该给你一个很好的起点!
关于ios - 如何在 Shinobi Charts 中将条形宽度设置为固定值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15405814/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |