我想在图表周围添加带有圆边的边框,我尝试使用以下代码无效:
_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;
}
提前感谢任何建议或意见!
答案 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上编辑/分割问题的礼仪是什么,所以我就把它留下了。如果有人遇到这个问题,并提出了相应的建议,那么随时可以进行编辑或添加评论等。