iOS 图表框架 Charts

这篇具有很好参考价值的文章主要介绍了iOS 图表框架 Charts。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.github示例图

charts ios,ios

charts ios,ios

2.Charts的GitHub网址

Charts - github

3.在github上下载后把demo跑在手机上的截屏

charts ios,ios

charts ios,ios

4.怎样使用

iOS-Charts看这个就够了 - 稀土掘金

4.1 条形图 - BarChartView

4.1.2 用条形图展示睡眠

charts ios,ios

  • 要实现上面的效果
 func addBarChart(){
        let chartView = HorizontalBarChartView(frame: CGRect(x: 0, y: 300, width: view.frame.size.width, height: 100))
        view.addSubview(chartView)
        chartView.backgroundColor = .yellow
        
        let xAxis = chartView.xAxis
        xAxis.enabled = false
        
        let leftAxis = chartView.leftAxis
        leftAxis.enabled = false
        
        let rightAxis = chartView.rightAxis
        rightAxis.enabled = false
        
        //最大值到顶部所占整个轴的百分比,默认0.1
        leftAxis.spaceTop = 0.01
        //最小值到底部所占整个轴的百分比,默认0.1
        leftAxis.spaceBottom = 0.01
        
        //是否显示图例
        chartView.legend.enabled = false
        
        //浅,green 7
        //深,red  2
        //醒,black  1
        //data
        let yVals = [
            BarChartDataEntry(x: 0, yValues: [7,2,1]),
            BarChartDataEntry(x: 1, yValues: [7,2,1])
        ]
        
        let set = BarChartDataSet(entries: yVals)
        set.drawValuesEnabled = false
        set.colors = [NSUIColor.green,NSUIColor.yellow,NSUIColor.yellow,
                      NSUIColor.yellow,NSUIColor.red,NSUIColor.black]
        
        let data = BarChartData(dataSet: set)
        //圆柱和间距的比例,默认0.85
        data.barWidth = 1
        chartView.data = data
        
    }

  • 上面的代码实现的效果如下图
    charts ios,ios

参考博客:
iOS Charts库的简单使用 - BarChartView

4.2 折线图 - LineChartView

Swift - 第三方图表库Charts使用详解8(折线图7:事件响应、MarkerView标签)

4.3 扇形图(饼状图) - PieChartView

charts ios,ios

override func viewDidLoad() {
        super.viewDidLoad()
        
        view.backgroundColor = .white

        let pieChartView = PieChartView(frame: CGRect(x: 0, y: 50, width: 200, height: 200))
        view.addSubview(pieChartView)
        pieChartView.backgroundColor = .gray
        
        //中心文字
        pieChartView.centerText = "睡眠占比"
        //是否显示图例
        pieChartView.legend.enabled = false
        
        let datas: [Double] = [32, 100, 65]

        var values = [PieChartDataEntry]()
        for i in 0..<datas.count {
            values.append(PieChartDataEntry(value: datas[i], label: "\(Int(datas[i]))分"))
            //            let entry = PieChartDataEntry(value: datas[i])
//            values.append(entry)
        }

        let dataSet = PieChartDataSet(entries: values, label: "图例")
        //是否显示数值。默认true
        dataSet.drawValuesEnabled = false

        dataSet.colors = [NSUIColor.black,NSUIColor.red,NSUIColor.green]
        
        

        let data = PieChartData(dataSet: dataSet)

        pieChartView.data = data
        
    }

参考博客:
iOS Charts库的简单使用 - PieChartView

5.遇到的问题

问题一:chartValueSelected代理方法不调用

  • 1.条形图点击的时候不调用代理方法chartValueSelected(只有几个会调用),总是调用代理方法chartValueNothingSelected

下载的demo没有这个问题,而pod后自己写的demo有这个问题,应该是pod的charts库有bug

解决方法,下载4.1.0的demo,然后手动导入Charts

问题二:iOS Xcode14 Charts集成时编译报错

iOS Xcode14 Charts集成时编译报错
文章来源地址https://www.toymoban.com/news/detail-739310.html

到了这里,关于iOS 图表框架 Charts的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • iOS 单元测试之常用框架 OCMock 详解

    测试驱动开发并不是一个很新鲜的概念了。在日常开发中,很多时候需要测试,但是这种输出是必须在点击一系列按钮之后才能在屏幕上显示出来的东西。测试的时候,往往是用模拟器一次一次的从头开始启动 app,然后定位到自己所在模块的程序,做一系列的点击操作,然后

    2024年02月09日
    浏览(34)
  • 【iOS】——基于Vision Kit框架实现图片文字识别

    根据苹果的官方文档,Vision可以执行面部检测、文本检测、条形码识别、图像注册和一般功能跟踪。Vision还允许将自定义Core ML模型用于分类或对象检测等任务。下面只是对文本识别的一个学习。 Vision的文本识别分为两种方式。 第一种是 快速路径(fast) ,它使用框架的字符

    2024年01月19日
    浏览(40)
  • iOS开发 - 系统自带框架实现扫一扫功能

    iOS 扫一扫 利用系统自带框架实现扫一扫功能 扫一扫功能相机和相册权限,在info.plist中设置询问用户是否允许访问的权限。 info.plist加入NSCameraUsageDescription、NSPhotoLibraryUsageDescription、NSPhotoLibraryAddUsageDescription 当每次进入扫一扫页面时,需要判断是否开启了权限 AVCaptureDevice:

    2024年02月15日
    浏览(37)
  • 探索Flutter框架对iOS应用打包与部署的最佳实践

    本文探讨了使用Flutter开发的iOS应用能否上架,以及上架的具体流程。苹果提供了App Store作为正式上架渠道,同时也有TestFlight供开发者进行内测。合规并通过审核后,Flutter应用可以顺利上架。但上架过程可能存在一些挑战,因此可能需要专业技术人员或上架服务商的协助。

    2024年04月16日
    浏览(52)
  • iOS 单元测试之常用框架 OCMock 详解 | 京东云技术团队

    1.1 单元测试的必要性 测试驱动开发并不是一个很新鲜的概念了。在日常开发中,很多时候需要测试,但是这种输出是必须在点击一系列按钮之后才能在屏幕上显示出来的东西。测试的时候,往往是用模拟器一次一次的从头开始启动 app,然后定位到自己所在模块的程序,做一

    2024年02月09日
    浏览(40)
  • [进阶]Java:打印流、Properties、common-io框架

    作用:打印流可以实现方便、高效的打印数据到文件中去 。打印流一般是:PrintStream,PrintWriter两个类。 可以实现打印什么数据就是什么数据,例如打印整数97写出去就是97,打印boolean的true,写出去就是true。    代码演示如下:   PrintStream和PrintWriter的区别 打印数据功能上是

    2024年02月09日
    浏览(35)
  • iOS swift 类似AirDrop的近场数据传输 MultipeerConnectivity 框架

    insidegui/MultipeerDemo – github insidegui/MultipeerKit – github(我用的是这个写我的项目) Info.plist 要求 从 iOS 14 开始,为了使 MultipeerKit 正常工作,您需要在应用的 Info.plist 文件中包含两个。 这些键是 Privacy - Local Network Usage Description (NSLocalNetworkUsageDescription) 和 Bonjour services

    2024年02月11日
    浏览(41)
  • [学习分享]----sylar服务器框架源码阅读--IO协程调度模块

    sylar作者在本站的地址为 这里,也可以查看 作者主页,也有视频教程可以 点击这里。此外,也可以看一下赵路强大佬的关于sylar协程模块的博客 点击这里,我本人在阅读sylar源码的时候也是参考了赵路强大佬的解析 可以点击这里。 各位看官也可以加我的qq和我讨论2511010742

    2024年01月17日
    浏览(47)
  • Tensorflow入门(2)——深度学习框架Tesnsflow & 线程+队列+IO操作 & 文件读取案例

    Tensorflow入门(1)——深度学习框架Tesnsflow入门 环境配置 认识Tensorflow 在训练样本的时候,希望读入的训练样本时有序的 • tf.FIFOQueue 先进先出队列,按顺序出队列 • tf.RandomShuffleQueue 随机出队列 FIFOQueue(capacity, dtypes, name=‘fifo_queue’) 创建一个以先进先出的顺序对元素进行排

    2024年02月17日
    浏览(47)
  • 【HarmonyOS开发】ArkUI-X 跨平台框架(使用ArkTs开发Android&IOS)

    ArkUI-X 跨平台框架进一步将 ArkUI 开发框架扩展到了多个OS平台,目前支持OpenHarmony、HarmonyOS、Android、 iOS,后续会逐步增加更多平台支持。开发者基于一套主代码,就可以构建支持多平台的精美、高性能应用。 React Native 是一个基于 JavaScript 和 React 的开源框架,由 Facebook 开发和

    2024年01月20日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包