ShinobiCharts样式/数据问题的顺序

时间:2015-11-10 04:28:26

标签: ios objective-c shinobi

我想问一些图表样式和数据问题。我的图表目前看起来像这样: enter image description here

我想在图表周围添加带有圆边的边框,我尝试使用以下代码无效:

_chart.layer.cornerRadius = 10.0;

_chart.layer.borderWidth = 0.7;

_chart.layer.borderColor = [UIColorwhiteColor].CGColor;

我还想在条形图上添加标签来表示它们的值,但不知道如何操作。

我的最后一个问题是关于图表中的数据。尽管具有正确顺序的数据结构,但数据在顺序方面似乎是扰乱的(它应该读取M T W TH F S SU)。我的数据结构是:

_sales[0] = @{@"M" : @1.6, @"T" : @5.6, @"W" : @10.6, @"TH" : @12.6, @"F" : @15.6, @"S" : @3.6, @"Su" : @4.6};

并按以下方式使用:

- (id<SChartData>)sChart:(ShinobiChart *)chart dataPointAtIndex:(NSInteger)dataIndex forSeriesAtIndex:(NSInteger)seriesIndex {

    SChartDataPoint *datapoint = [[SChartDataPointalloc] init];

    NSString* key = _sales[seriesIndex].allKeys[dataIndex];

    datapoint.xValue = key;

    datapoint.yValue = _sales[seriesIndex][key];

    return datapoint;

}

提前感谢任何建议或意见!

1 个答案:

答案 0 :(得分:1)

免责声明:我为ShinobiControls工作

图表边框

您可以使用layer.borderWidth而不是borderThickness,而不是layer.borderColor使用borderColor

当我测试它时,以下对我有用:

_chart.borderColor = [UIColor redColor];
_chart.borderThickness = @(5);
_chart.layer.cornerRadius = 10.0;

数据点标签

您可以通过从数据源返回的系列打开数据点标签并控制其样式:

series.style.dataPointLabelStyle.showLabels = YES;

数据订单

您提到您的数据结构“按正确的顺序”,但不幸的是,这并不完全正确。您使用的NSDictionary不保证订单。当您在allKeys上调用NSDictionary时,返回的数组不一定是有序的。根据{{​​1}}的{​​{3}}:

  

未定义数组中元素的顺序。

为了解决这个问题,您需要切换到确保订单的数据结构。

我希望所有这些信息都有用!

注意:原帖中有许多不同的问题,因此此回复包含多个答案。我不太确定在SO上编辑/分割问题的礼仪是什么,所以我就把它留下了。如果有人遇到这个问题,并提出了相应的建议,那么随时可以进行编辑或添加评论等。