iOS swift3 图表xaxis重复值问题

2024-01-20

我在使用 iOS 图表库为 xAxis 创建字符串值时遇到问题

x 值总是有重复值,请参见下图,您可以看到值总是JAN JAN JAN JAN FEB FEB FEB

我如何设置图表的 x 值,如下所示JAN FEB MAR ?

import UIKit
import Charts
class ViewController: UIViewController {
var months:[String]!
@IBOutlet var lineChartView: LineChartView!

override func viewDidLoad() {
super.viewDidLoad()


let unitsSold = [20.0, 4.0, 6.0]

var months = ["Jan", "Feb", "Mar"]

let formato:LineChartFormatter = LineChartFormatter(labels: months)
let xaxis:XAxis = XAxis()

var dataEntries: [ChartDataEntry] = []

for i in 0..<unitsSold.count {
let dataEntry = ChartDataEntry(x: Double(i), y: unitsSold[i])

print("double \(Double(i))")
dataEntries.append(dataEntry)
}

xaxis.valueFormatter = formato
let data = LineChartData()
let dataset = LineChartDataSet(values: dataEntries, label: "Hello")
dataset.colors = [NSUIColor.red]
data.addDataSet(dataset)


self.lineChartView.gridBackgroundColor = NSUIColor.white
self.lineChartView.xAxis.drawGridLinesEnabled = true;
self.lineChartView.xAxis.labelPosition = XAxis.LabelPosition.bottom
self.lineChartView.xAxis.centerAxisLabelsEnabled = true
self.lineChartView.chartDescription?.text = "LineChartView Example"
self.lineChartView.xAxis.valueFormatter = xaxis.valueFormatter
self.lineChartView.data = data
}

override open func viewWillAppear(_ animated: Bool) {
self.lineChartView.animate(xAxisDuration: 1.0, yAxisDuration: 1.0)
}
}

@objc(LineChartFormatter)
public class LineChartFormatter: NSObject, IAxisValueFormatter{
var labels: [String] = []

public func stringForValue(_ value: Double, axis: AxisBase?) -> String {
return labels[Int(value)]
}

init(labels: [String]) {
super.init()
self.labels = labels
}
}

首先,使用granularity以避免重复值。 其次,检查你的valueFormatter如果您发现它们的值非常不同,则不要返回相同的字符串。例如int(1.5) and int(1.9)会给你同样的Jan但你可能想让1.9 return Feb

再次强调,你必须仔细实施你自己的valueFormatter如果你正在处理小数

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS swift3 图表xaxis重复值问题 的相关文章

随机推荐

  • Android studio 抛出 IOException:不允许操作

    现在 我正在为自己创建一个应用程序 它将数据附加到几个文件中 但是当我尝试创建文件 或者实际上打开它们 时 程序会抛出java io IOException Operation not permitted 如您所见 已授予存储权限 这个应用
  • pandas 是否会自动跳过行并进行大小限制?

    我们都知道这个问题 当你运行时出现内存错误 pandas 数据框的最大大小 https stackoverflow com questions 23569771 maximum size of pandas dataframe 442076
  • clang-format 何时断行继承列表?

    Clang format 总是将继承和类名放在同一行 无论我设置什么BreakInheritanceList to 我希望它以相同的方式格式化继承列表和构造函数初始值设定项列表 class Foo Parent int member pub
  • .NET 提供的有关 uri 和 url 的 api 的替代方案

    我最近意识到 使用 URL 和 URI 的 NET api 经常无法实现基本功能 至少很容易 包括 从相对路径生成 FQDN url 强制 https 或返回到http 获取网站的根 正确组合相对 URL 等等 是否有其他库可以将所有这些类
  • 新 AngularJS ng-ref 指令的陷阱

    The release of AngularJS V1 7 1 https github com angular angular js blob master CHANGELOG md 171 momentum defiance 2018
  • 库存浏览器从图库中选择照片的问题

    我正在开发一个用于从移动设备上传照片的网页 使用
  • 悬停时重新启动动画

    我正在尝试创建一些复活节动画 其中有一只小兔子接住了下落的鸡蛋 现在效果很好 但我遇到的麻烦是我似乎无法创建一个按钮来重新启动我的多个动画并让它们再次下落 向下移动 我已经尝试了很多东西 这似乎是我能得到的最接近的东西 但这似乎只是播放 暂
  • 如何在无人值守的情况下安装 Visual Studio Build Tools?

    我正在尝试在 PowerShell 中以无人值守的方式安装 Visual Studio Build Tools 我跟着https silentinstallhq com visual studio build tools 2022 sile
  • 我应该将自定义方法从控制器移至模型吗?

    假设我有一个产品模型和 ProductsController 控制器具有所有标准的 CRUD 方法 产品执行各种验证等 这里有一个问题 我有几个自定义的非常复杂的操作 它们也需要以多种格式响应 json html xml csv pdf 等
  • 检查 CancellationTokenSource.Cancel() 是否已使用 Moq 调用

    我有一个条件语句 应如下所示 if view VerifyData true else view PermanentCancellation Cancel 其中 PermanentCancellation 的类型为 Cancellation
  • 如何获取 Windows 用户帐户的用户权限和特权

    我需要能够检查所有these http technet microsoft com en us library dd349804 v WS 10 aspx用户权利和特权 我尝试使用令牌来访问这些 但这仅完成了权限列表 我查过这个图书馆 ht
  • 每个 Android 设备的唯一 ID

    我实际上正在开发一个 Android 应用程序 希望为每个 Android 设备捕获唯一的 Id 但不确定哪个 Id 是可靠的 电话号码Imei imsi 从android 10开始 即使提供了权限 第三方应用程序也将无法检索此id 安全
  • 链式作业如何进行?

    引用某事 gt gt gt x y somefunction 是相同的 gt gt gt y somefunction gt gt gt x y 问题 是 x y somefunction 与 x somefunction y somefu
  • “3.4E +/- 38(7 位数字)”到底是什么意思? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我试图了解数据类型的范围 对于非浮点
  • ELOOP:遇到太多符号链接

    当尝试点击命令时 npm install g angular email protected cdn cgi l email protection Note 我有 Node Js LTS 10 xx 版本 Net Framework 4 7
  • StreamSocket、DataWriter.StoreAsync()、DataReader.LoadAsync() -- 异步问题

    我正在创建一个 Win 8 商店应用程序 在其中使用 StreamSocket 连接到用 Java 编写的服务器 当我在调试中运行应用程序时 在 StreamSocket ConnectAsync DataWriter StoreAsync
  • Swift:以模态方式呈现并解除导航控制器

    我有一个非常常见的 iOS 应用场景 The MainVC该应用程序的一个UITabBar控制器 我在 AppDelegate swift 文件中将此 VC 设置为 rootViewController func application a
  • “不匹配”的正则表达式语法?

    我有一个大量使用正则表达式的 python 模板引擎 它使用像这样的串联 re compile regexp1 regexp2 regexp3 我可以修改各个子字符串 regexp1 regexp2 等 是否有任何不匹配的小而轻的表达式 我
  • Keras Tuner:根据层数选择单元数

    我正在使用 Keras Tuner 来调整神经网络的超参数 我想搜索隐藏层的最佳数量以及每层中的最佳单元数 为了避免模型过度参数化 我想施加以下条件 如果模型有两层 则选择最佳的单元数 每层最多 64 个 如果模型有一层 则选择最佳的单元数
  • iOS swift3 图表xaxis重复值问题

    我在使用 iOS 图表库为 xAxis 创建字符串值时遇到问题 x 值总是有重复值 请参见下图 您可以看到值总是JAN JAN JAN JAN FEB FEB FEB 我如何设置图表的 x 值 如下所示JAN FEB MAR import