1

我想问一些图表样式和数据问题。我的图表目前看起来像这样: 在此处输入图像描述

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

_chart.layer.cornerRadius = 10.0;

_chart.layer.borderWidth = 0.7;

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

我还想在条形图上添加标签以指示它们的值,但不知道该怎么做。

我的最后一个问题是关于图表中的数据。尽管具有正确顺序的数据结构,但数据在顺序方面似乎是混乱的(它应该读取 MTW TH FS 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;

}

任何建议或意见将不胜感激,在此先感谢!

4

1 回答 1

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的数组时,不一定是按顺序排列的。根据NSDictionaryAPIallKeys文档:

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

为了解决这个问题,您需要切换到保证顺序的数据结构。

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

注意:原始帖子中有许多不同的问题,因此此回复包含多个答案。我不太确定在 SO 上编辑/拆分问题的礼仪是什么,所以我不理会它。如果有人遇到这个问题并有类似的建议,请随时进行编辑或添加评论等。

于 2015-11-11T09:11:37.177 回答