如何突出显示iOS-Charts中的最低数据点?

时间:2016-06-01 02:11:08

标签: ios ios-charts

我想放置一个图像,表明此数据点是数据中的最低点。我做了一张照片来解释我想要的东西。我正在使用BarChartView和RadarChartView。

enter image description here

我的试用

我认为this question与我的问题相似,但我需要找到放置UIImage的位置。如果我知道这个位置,我可以做到或做addSubviewgetMarkerPosition函数看起来很有用,可以确定正确的位置。

此外,ChartMarker看起来很有帮助。在ChartsDemo部分图表视图中使用了BalloonMarker。这几乎就是我想要做的。以下是RadarChartViewController.m的引用。

BalloonMarker *marker = [[BalloonMarker alloc] initWithColor:[UIColor colorWithWhite:180/255. alpha:1.0] font:[UIFont systemFontOfSize:12.0] insets: UIEdgeInsetsMake(8.0, 8.0, 20.0, 8.0)];
marker.minimumSize = CGSizeMake(80.f, 40.f);
_chartView.marker = marker;

创建了BalloonMarker并将其添加到_chartView.marker。因此,当用户点击某个栏但我想要始终显示标记时,会出现一个标记。换句话说,库决定显示和隐藏标记的正确时间。我找不到主动弹出标记的方法。

如果你能告诉我这样做的方法,我将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

BarChartRenderer课程中,您可以找到方法

  

public override func drawValues(context context:CGContext)

在for循环中if (!dataSet.isStacked)的正文内部,您可以先使用e.value和相应的valuePoint变量定义最小值,因此在循环后您将得到最小值为的坐标绘制并添加一些偏移量,您也可以绘制标记

let image = UIImage(named: "MARKER")
image?.drawInRect(CGRect(x: valuePoint.x, y: SOME_OFFSET + valuePoint.y + (val >= 0.0 ? posOffset : negOffset), width: 16, height: 16))

  

public func drawDataSet(context context:CGContext,dataSet:   IBarChartDataSet,index:Int)

您可以找到最小栏的barRect并使用该结果。