如果栏值为0.0,如何隐藏markerView。使用 iOS 图表的条形图

问题描述 投票:0回答:2

我正在使用 iOS 图表添加点击标记。我只想在值不为零时打开标记。我们可以使用 iOS 图表库来做到这一点吗?

ios swift ios-charts
2个回答
8
投票

首先设置barChartView的委托,然后在chartValueSelected函数中编写此代码

  func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight){
    if entry.y == 0.0{
        barChartView.highlightValue(nil, callDelegate: false)
    }

}

无论您需要隐藏标记的位置,只需添加此代码

 barChartView.highlightValue(nil, callDelegate: false)

0
投票

您可以创建自定义类并将其用作 -

public class XValueFormatter: NSObject, ValueFormatter {
        public func stringForValue(_ value: Double, entry: ChartDataEntry, dataSetIndex: Int, viewPortHandler: ViewPortHandler?) -> String {
            return value <= 0.0 ? "" : String(describing: value)
     }
 }

将其用作

  let chartData = BarChartData(dataSet: chartDataSet)
  chartData.setValueFormatter(XValueFormatter())
© www.soinside.com 2019 - 2024. All rights reserved.