ChartsZyp 1.0.10

ChartsZyp 1.0.10

RandunuK 维护。



ChartsZyp 1.0.10

  • Daniel Cohen Gindi 和 Philipp Jahoda

版本 3.4.0,已同步到 MPAndroidChart #f6a398b

alt tag Supported Platforms Releases Latest pod release Carthage compatible Build Status codecov Join the chat at https://gitter.im/danielgindi/ChartsZyp

注意:ChartsZyp 3.0 有一些重大更改。请阅读 发布/迁移说明

其他提醒:ChartsZypRealm 现已作为一个独立的仓库存在。Pods 也现在已经更改为 ChartsZypChartsZypRealm,而不是之前的 ChartsZyp/CoreChartsZyp/Realm

最后提醒:随着 Swift 的不断进化,如果您不使用最新的 Swift 编译器,则不应检出 master 分支。相反,您应该访问版本页面并选择您需要的版本。

  • Xcode 11 / Swift 5 (master branch)
  • iOS >= 8.0 (作为 嵌入式 框架使用)
  • tvOS >= 9.0
  • macOS >= 10.11

所以有一个叫做 MPAndroidChart 的漂亮库,由 Philipp Jahoda 创建,它已经成为 Android 开发者中非常流行的一个库,但是没有很好的办法为 iOS 创建图表。

我选择使用 Swift 编写,因为编译器可以对其进行高度优化,并且可以在 SwiftObjC 项目中使用。示例项目使用 ObjC 编写,以展示其工作原理。

这个库的一个令人惊奇的特性 是,对于 Android、iOS、tvOS 和 macOS 来说,它为您在两个平台上开发时节省了大量的时间,因为学习曲线是单实例的——它只会发生一次,代码非常相似,因此开发者不必重构应用以使用不同库产生相同的结果。(而且还不考虑目前实际上并没有其他很好的选择这一事实...)

运行示例项目时遇到麻烦?

  • ChartsZypDemo/ChartsZypDemo.xcodeproj 是 iOS/tvOS 的示例项目
  • ChartsZypDemo-OSX/ChartsZypDemo-OSX.xcodeproj 是 macOS 的示例项目
  • 请确保您正在运行受支持的 Xcode 版本。
    • 通常,在上面的几行中指定。
    • 通常将是最新的 Xcode 版本。
  • 请确保您的项目支持 Swift 5.0
  • 可选:在项目文件夹中运行 carthage checkout,以获取依赖项(例如测试依赖项)。
    • 如果您没有 Carthage,您可以从这里获得它 这里

用法

为了正确编译

  1. ChartsZyp.xcodeproj 拖到您的项目中
  2. 进入目标设置,在“已嵌入的二进制”部分下点击“+”,然后选择 ChartsZyp.framework
  3. @import ChartsZyp
  4. 当在 ObjC 项目中使用 Swift 时
  • 您需要导入您的桥接头。通常它是 "YourProject-Swift.h",因此 ChartsZypDemo 中的是 "ChartsZypDemo-Swift.h"。请勿在项目中实际包含 "ChartsZypDemo-Swift.h"!
  • (Xcode 8.1 及更早版本)在“构建选项”下,勾选“包含 Swift 代码的嵌入内容”
  • (Xcode 8.2 及更高版本)在“构建选项”下,勾选“始终嵌入 Swift 标准库”
  1. 当使用 Realm.io
    • 请注意,Realm 框架并未与 ChartsZyp 链接——它仅用于 可选 绑定。这意味着您需要在项目中包含框架,并且其版本与 ChartsZyp 编译的版本兼容。我们将尽最大努力始终针对最新版本进行编译。
    • 您还需要将 ChartsZypRealm 添加为依赖项。

第三方教程

故障排除

无法编译?

  • 请注意,使用CocoaPods或Carthage安装编译后的框架与复制源代码之间的区别。
  • 请再次阅读使用说明部分。
  • 在问题中搜索
  • 请礼貌地在该部分提出问题

其他问题/功能请求

  • 在问题中搜索
  • 请礼貌地在该部分提出问题

CocoaPods安装

在你的Podfile中添加pod 'ChartsZyp'。“ChartsZyp”是库的名称。
为了支持Realm,请也添加pod 'ChartsZypRealm'

注意:pod 'ios-charts'不是正确的库,它指的是另一个由其他人创建的项目。

Carthage安装

ChartsZyp现在包含了Carthage预构建的二进制文件。

github "danielgindi/ChartsZyp" == 3.4.0
github "danielgindi/ChartsZyp" ~> 3.4.0

要为新的版本构建二进制文件,请使用carthage build --no-skip-current && carthage archive ChartsZyp

第三方绑定

Xamarin(由 @Flash3001 提供):iOS - GitHub/NuGetAndroid - GitHub/NuGet

帮助

如果您喜欢这里的内容,并且想支持该仓库中的工作,您可以

  • 贡献代码、问题和拉取请求
  • 让人们知道这个库的存在(🔥传播消息🔥)
  • Donate(您可以请我喝啤酒,或者请我吃饭:-)

注意:MPAndroidChart(《MPAndroidChart》)的作者是这个库存在的理由,并在他的页面接受捐赠。他当之无愧!

问题和事项

如果您有任何疑问或问题,您应该

  • 确保您正在使用库的最新版本。检查发布部分
  • 学习Android版本的文档Wiki
  • 学习(仍然不完整的Doc-Percent)Pod-文档
  • 在<ाStackOverflow上搜索或打开带有ios-charts标签的问题
  • 搜索已知问题以了解您的问题(已开放和关闭)
  • 创建新的问题(请🔥 在创建之前搜索已知问题 🔥,不要创建重复的问题)

功能

核心功能

  • 8种不同的图表类型
  • 双轴缩放(使用触摸手势、轴分别或捏合缩放)
  • 拖动/平移(使用触摸手势)
  • 组合-ChartsZyp(线形、柱形、散点图、K线图、气泡)
  • 双轴(分开)
  • 可定制轴(X轴和Y轴)
  • 突出显示值(带可定制弹出视图)
  • 将图表保存到相机胶卷/导出到PNG/JPEG
  • 预定义颜色模板
  • 图例(自动生成,可定制)
  • 动画(构建动画,X轴和Y轴)
  • 限制行数(提供附加信息、最大值等)
  • 完全可定制(涂料、字体、图例、颜色、背景、手势、虚线等)
  • 直接从Realm.io移动数据库(这里)绘图

图表类型

截图目前是从原始仓库中获取的,因为它们的渲染效果完全相同:)

  • 折线图(带图例,简单设计) alt tag

  • 折线图(带图例,简单设计) alt tag

  • 折线图(三次曲线) alt tag

  • 折线图(渐变填充) alt tag

  • 组合图(条形图和折线图) alt tag

  • 条形图(带图例,简单设计)

alt tag

  • 条形图(分组数据集)

alt tag

  • 水平条形图

alt tag

  • 饼图(带选择等)

alt tag

  • 散点图(带有方框、三角形、圆形等,更多选项)

alt tag

  • 柱状图(用于金融数据)

alt tag

  • 气泡图(气泡覆盖的区域表示值)

alt tag

  • 雷达图(蜘蛛网图)

alt tag

文档

目前iOS/tvOS/macOS版本不需要文档,因为API与Android版本相同程度达到95%
您可以在以下链接中阅读官方的MPAndroidChart文档: Wiki

您还可以查看ChartsZyp演示项目,支持Objective-C和Swift语言(链接:ChartsZypDemo-iOS,以及macOS ChartsZypDemo-macOS),并从中了解如何操作。

特别感谢

感谢@liuxuan30@petester42@AlBirdie为新功能、错误修复以及大量参与我们的开源社区,你们对所有人前来提问和解决问题的巨大帮助无可估量!没有你们,我无法实质性回应所有人的问题。

许可证

版权所有 2016 Daniel Cohen Gindi & Philipp Jahoda

遵循Apache License, Version 2.0(“许可证”);除非遵守许可证规定,否则不得使用此文件。您可以在以下地址获取许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非根据适用法律或书面协议要求,否则根据许可证分发的软件按“原样”分发,不提供任何明示或暗示的保证。有关许可证的具体语言、权限和限制,请参阅许可证。