如何在 ios-charts 中为 BarChartView 添加 XAxis 标签

2024-02-22

我添加了一个条形图 https://github.com/danielgindi/ios-charts到故事板,但我无法正确设置数据条目的标签。

这是我的代码:

var names = ["aaa", "bbb", "ccc", "ddd"]
var values = [230.0, 280.0, 450.0, 340.0]

setChart(dataPoints: names, values: values)

设置图表函数:

func setChart(dataPoints: [String], values: [Double])
{
    let formatter = BarChartFormatter()
    formatter.setValues(values: dataPoints)
    let xaxis:XAxis = XAxis()


    barChartView.noDataText = "You need to provide data for the chart."
    var dataEntries: [BarChartDataEntry] = []

    for i in 0..<dataPoints.count
    {
        let dataEntry = BarChartDataEntry(x: Double(i), y: values[i])
        dataEntries.append(dataEntry)
    }

    let chartDataSet = BarChartDataSet(values: dataEntries, label: "موجودی")

    let chartData = BarChartData(dataSet: chartDataSet)


    xaxis.valueFormatter = formatter
    barChartView.xAxis.labelPosition = .bottom
    barChartView.xAxis.drawGridLinesEnabled = false
    barChartView.xAxis.valueFormatter = xaxis.valueFormatter
    barChartView.chartDescription?.enabled = false
    barChartView.legend.enabled = true
    barChartView.rightAxis.enabled = false
    barChartView.data = chartData
}

最后是格式化程序:

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

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

    public func setValues(values: [String])
    {
        self.names = values
    }
}

但效果并不好,如下所示:

如图所示,它添加了 6 个标签而不是 4 个标签,并且它也有重复项。

我已经读过这个解决方案 https://stackoverflow.com/questions/39049188/how-to-add-strings-on-x-axis-in-ios-charts/39149070#39149070但是,正如您所看到的,它还存在一些问题。

我怎么解决这个问题?


我认为你可以尝试设置以下属性:

barChartView.xAxis.granularityEnabled = true
barChartView.xAxis.granularity = 1.0 //default granularity is 1.0, but it is better to be explicit
barChartView.xAxis.decimals = 0

源代码告诉您很多有关上述属性的信息。https://github.com/danielgindi/Charts/blob/master/Source/Charts/Components/AxisBase.swift https://github.com/danielgindi/Charts/blob/master/Source/Charts/Components/AxisBase.swift

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

如何在 ios-charts 中为 BarChartView 添加 XAxis 标签 的相关文章

  • Swift 在调试和发布模式下的行为不同

    不确定这是否是 Swift XCode 或 Alamofire 的问题 但我认识到我的混合 Swift Objc 应用程序中不同地方的奇怪行为 它只发生在用 Swift 编写并使用闭包 网络的部分 这是发生这种情况的示例代码 Alamofi
  • 如何禁用导航控制器(Swift)内特定视图控制器的自动旋转? [复制]

    这个问题在这里已经有答案了 上面根本没有答案 在导航控制器内的特定 不是全部 视图控制器禁用自动旋转时遇到问题 类似的问题并不涉及禁用特定视图控制器的自动旋转的能力 而是涉及禁用导航控制器内所有视图控制器的自动旋转的能力 我的导航控制器包含
  • 在 swift 中发送自定义 HTTP 标头

    我设法从服务器获取 json 但现在我想通过 http 标头添加额外的安全性 这就是我的代码现在的样子 let urlPath http www xxxxxxxx com let url NSURL string urlPath let s
  • 如何在 Facebook SDK for iOS 中定义“GeoPoint”属性

    我试图通过创建一个继承预定义 地点 对象的开放图对象来对开放图故事进行地理标记 但是 我不知道如何在 iOS 中定义 GeoPoint 属性 place location 这里有一个类似问题的答案 https stackoverflow c
  • 这样理解Activity类似于iOS中的ViewController就可以了吗?

    这样理解Activity类似于iOS中的ViewController就可以了吗 我很困惑接受 Android 中的术语概念 如 活动 服务 等 是的 我想说 Activity 和 ViewController 非常相似 只有一个很大的区别
  • 依赖于 pod 的 Swift 通用框架

    我正在开发一个依赖于 Alamofire 的小型 Swift 框架 我将它用作属于同一工作区的应用程序的嵌入式框架 并且它运行良好 当我想构建一个具有总体目标的通用框架时 问题就出现了 然后 当执行脚本生成框架时 它失败并显示消息No su
  • 在 Swift 中将半精度浮点数(字节)转换为浮点数

    我希望能够从二进制文件中读取半浮点数并将它们转换为 Swift 中的浮点数 我查看了来自其他语言 例如 Java 和 C 的几种转换 但是我无法获得与半浮点相对应的正确值 如果有人可以帮助我实施 我将不胜感激 从 Float 到 Half
  • 在 Swift 中动态设置 Dictionary 的属性

    我正在尝试根据字典中的值在类上设置一些属性 目前我正在这样做 let view UIView UIView if let hidden Bool self props hidden as Bool view hidden hidden if
  • 在 WidgetKit 中每分钟更新时间文本标签

    是否可以在小部件中创建显示当前时间并实时更新的文本标签 尝试创建时钟小部件 但小部件每 5 分钟仅更新 1 次 创建时间表没有帮助 使小部件保持最新 不适用于当前时间 仅适用于计时器等 一个可能的解决方案是使用time日期样式 A styl
  • 在 iOS Swift 2 中实现“阅读更多”按钮以展开 UITextView 的最简单方法?

    我希望实现一个 阅读更多 按钮 该按钮将扩展 UITextView 以便有人可以根据需要阅读整个文本 我还没有找到一种简单的方法来实现这一目标 我尝试 玩弄 容器的高度 但它没有给我想要的结果 我真的很感激任何想法 我会推荐你 ilyapu
  • 使用 RestKit 对象映射空响应

    感谢在这里帮忙 https stackoverflow com questions 9743155 restkit mapping with an array of complex objects在 RestKit 邮件列表上 我已经能够解
  • iOS设备和iPhone模拟器内存​​组织的差异

    我正在尝试使用 Xcode 4 3 3 和 iPhone 5 1 模拟器开发一个应用程序 当我在模拟器上运行这个应用程序时 我没有收到任何警告 并且它运行得很好 但是 当我尝试在 iOS 设备上执行此操作时 我收到一条警告消息 收到内存警告
  • iOS模型层通知Controller对象

    https developer apple com library archive documentation General Conceptual DevPedia CocoaCore MVC html https developer a
  • 如何跟踪 SwiftUI 应用程序中的所有触摸

    我正在尝试在 SwiftUI 应用程序中实现锁屏 我需要跟踪每个事件才能重新启动锁定计时器 在 UIKit 应用程序中 我使用了这种方法 重写 UIApplication 它允许了解应用程序中的任何事件 override func send
  • NSAttributedString 的 AutoLayout 行高计算错误

    我的应用程序从 API 中提取 HTML 将其转换为NSAttributedString 为了允许可点击的链接 并将其写入自动布局表中的一行 问题是 每当我调用这种类型的单元格时 高度都会被错误计算并且内容会被截断 我尝试了不同的行高计算实
  • 如何在 SwiftUI 中将变量从一个视图传递到另一个视图

    我正在尝试将一个变量从一个视图传递到 SwiftUI 中的另一个视图 我有一个重置按钮 我想在另一个视图中将变量设置为零 我尝试在视图一中创建一个新结构并在视图2中访问该变量 View 1 State var count MyNumber
  • 未安装 Apple 的全球开发者关系 (WWDR) 中间证书

    我今天无法通过 Appcelerator Titanium 发布我的应用程序 AdHoc 我开始收到此错误 错误 未安装 Apple 的全球开发者关系 WWDR 中间证书 错误 这将阻止您为 iOS 设备构建应用程序或用于分发的软件包 我上
  • 在 iOS 上,边距、边缘插入、内容插入、对齐矩形、布局边距、锚点...之间有什么区别?

    iOS 社区中似乎有几种不同的选项 术语 人们在布局方面使用 例如 UIEdgeInsets 是一种类型 但有时我听到 读到 设置插图 或布局边距与布局指南 我总是能够找到有效的选择 但我永远不确定我是否使用了正确的工具来完成这项工作 有人
  • 将UIWebView显示的PDF保存到本地

    我有一个UIViewController与UIWebView显示一个 pdf 文件 具体取决于之前单击的行UITableView 现在我想添加一个按钮 供用户在本地保存此 pdf 文件以供离线使用 然后还有第二个UITableView它应该
  • Google Cardboard - Cardboard VR 套件有 iPhone / iOS 入门项目吗?

    我正在看Google Cardboard 套件 一种廉价的 VR 设置 https developers google com cardboard 使用 Android 设备玩 3d VR 游戏 我看到他们有一个 Android 演示项目

随机推荐