swift - 如何替换 iOS 图表中标签的值?

标签 swift charts ios-charts

我使用 IOS 图表来绘制下载速度。我给具有字节值的 double 图表函数数组。它建立图表。但我想在图表标签中显示以兆字节、千字节或字节为单位的值。我可以在 NSByteFormatter 的帮助下转换这些值中的字节。但是有一个问题,构建图表的函数采用单个值数组(例如字节数组),并在图表上的标签中输出相同的值,我试图找到一个解决方案来做到这一点,但我没有找到。我该怎么做?

绘制图表的函数

   func setSendChart(description: [String], value: [Double]) {
    var chartDataEntryArray = [ChartDataEntry]()

    for item in 0..<description.count {
        let chartEntry = ChartDataEntry(value: value[item], xIndex: item)
        chartDataEntryArray.append(chartEntry)
    }

    let dataSet = LineChartDataSet(yVals: chartDataEntryArray, label: "")
    dataSet.drawCircleHoleEnabled = false
    dataSet.drawCirclesEnabled = false
    dataSet.drawCubicEnabled = true
    dataSet.drawFilledEnabled = true
    dataSet.drawValuesEnabled = false

    dataSet.fillColor = UIColor(red: 47/255, green: 206/255, blue: 255/255, alpha: 1.0)

    let chartData = LineChartData(xVals: description, dataSet: dataSet)
    sendChartView.data = chartData
}

最佳答案

您无法更改图表用于绘制的值;但是,您可以提供自己的 NSNumberFormatter 实现来获取您想要的格式化值。 yAxis 有 valueFormatter,dataSet

也有

另一种方法是,您将 dataSet 子类化以传递您的值文本数组,并覆盖 renderAxisLabelsdrawValues 以绘制您想要的文本。

我更喜欢第一个,因为它不涉及库代码

关于swift - 如何替换 iOS 图表中标签的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34885486/

相关文章:

android - MPAndroidChart - 如何更改 PieChart 中心背景的颜色?

iOS Swift PerformSegueWithIdentifier 用于发送数据

swift - 如何绕过其父类(super class)所需的指定初始值设定项将值传递给父类(super class) init?

javascript - 带 slider 范围的连续轴图无法绘制?

iOS-图表 float 到整数 YAxis

swift - 如何在 ios 图表中快速设置字符串和 Y 轴数字

c# - 如何在 Xamarin.iOS 中使用 danielgindi 的 iOS 图表库?

xcode - Swift 2 、 CLGeocoder() 和地标

swift - string.insert(contentsOf : at:) giving error

javascript - C3JS - 无法读取未定义的属性 'category10'