Tag: 图表

流行的Swift iOS图表库

大多数iOS开发人员正在学习中,或者现在正在Swift中进行全面开发。 我想快速汇总一下令人难以置信的code.com上三个评分最高的Swift iOS图表库。 这些是根据受欢迎程度,各种图表和功能选择的。 图表 流行的且恰当命名的Charts是一个很好的起点。 使用iOS,tvOS和OSX的Swift编写。 但是,值得注意的是该演示项目位于目标C中。 该库为我们提供了8种不同的图表类型: 线,条,组合,饼图,散点图,烛台,气泡和雷达 还有很多选择,例如 在两个轴上缩放(触摸手势,单独轴或捏缩放)。 使用触摸手势和组合图(线,条,散点图,烛台,气泡)进行拖动/平移。 可自定义的轴(x轴和y轴)和突出显示值(具有可自定义的弹出视图)。 将图表保存到相机胶卷并导出到PNG / JPEG。 图例是自动生成的,但也可以自定义。 2.汇票 这是适用于iOS的高度可定制的图表库,包括: 条形(普通,堆叠,分组,水平,垂直) 散点图,直线(直线/三次/自定义路径生成器) 面积,气泡,多轴。 蜡烛。 一切都是可自定义的,例如颜色,视图,单位,标签,动画,交互,轴等。 使用叠加层,信息视图等,可以轻松创建任意标记。 它使用模块化架构,应该可以轻松创建新的图表类型或添加效果。 3. PNChart-Swift-这是原始PNChart目标C库的快速版本。 它具有一些不错的动画并支持: 酒吧 线 雷达 馅饼 散点图。 如果您对此列表有任何补充,请联系我们,让我们知道。

让我们来做一些图表:iOS图表

我最近开始尝试使用iOS Charts API,并且很喜欢它。 有很多有趣的选项可用于检出图形,您可以真正自定义图形以使其完全符合所需的外观。 简单安装CocoaPods 假设您是从头开始一个新项目,请创建一个新项目并在终端中打开它 键入“ pod init ”,然后键入“ open”。 ” 打开podfile。 我喜欢在Atom中执行此操作,但是如果您没有Atom,则可以在终端中编写“ open podfile ”,然后将打开一个文本编辑器 在“ use_frameworks!”注释下写荚“ Charts / Realm” 5.从Swift 3.0的实现开始,以下代码必须粘贴在podfile的底部(在上面的第一个“结束”之下) 6.在终端“ pod install ”上运行 7. pod安装完成后,将创建以.xcworkspace结尾的项目版本。 这是包含您刚刚安装的Pod的版本。 从现在开始,您将始终在此文件中工作。 继续并从终端打开它 8.构建项目以确保一切都顺利安装。 …,让我们开始建立一些图表! ChartViewController 在深入研究特定图表的代码之前,我想在这里粘贴ChartViewController代码。 我决定将图表类型分为特定的视图,而不是在ChartViewController中编写图表的所有代码。 如果您要遵循自己的代码,我想强调两个项目: 为了填充图表视图,我使用了协议-委托关系,一旦设置了委托,该协议就会填充图表数据。 为了自定义x轴文本,我创建了一个公共类ChartFormatter,该类适用于本演示中显示的所有图表。 如果您不包括此类,则X轴文本将在图形的顶部,并且您将无法自定义字体等。 条形图。 将“图表”导入正在使用的快捷文件中。 创建BarChartView实例后,我以编程方式将图表限制在barChartSetup()中的视图边缘。 您可能会注意到barChartSetup()中还包含一个动画。 尽管我选择了.easeInBounce,但仍有多种选择可以使用; .easeInBounce刚好吸引了我。 🙂如果要签出其他选项,请删除.easeInBounce并仅输入“。”,所有其他选项将在下面填充。 最终产品: 折线图。 毫不奇怪,折线图的制作方法类似于条形图。 首先,创建LineChartView的实例,并将其约束到视图的边缘。 与条形图一样,折线图也可以设置为动画。 为了使折线图更加生动有趣,我决定添加一个渐变功能。 […]

让我们在Swift 3中制作一个折线图

好的,所以您希望您的应用具有简单的折线图。 您正在四处搜寻,并为其找到了一个很棒的库(iOS图表),但是它并没有完全按照您的要求进行。 或者,您不想只为一个小图表就链接整个库。 好消息是,它们实际上很容易使自己成为现实。 您只需要了解有关使用CoreGraphics进行绘图的知识。 在这里,我将逐步引导您完成整个折线图,并确切显示每个部分的功能,以便您可以根据需要自定义它。 总共,我们正在寻找250 LOC。 我将假设您具有Swift和Xcode的基本知识。 这是最终产品。 首先,我喜欢对基本的Swift类型使用一些简单的扩展,以使事情更具可读性并简化常见任务。 在图表中,我将利用您可能要放在另一个文件中的两个扩展名。 第一个用于获取字符串的渲染大小,并始终避免以NSString进行类型转换,第二个用于递增CGPoint的x或y。 在var chartTransform: CGAffineTransform?上var chartTransform: CGAffineTransform? 。 仿射变换是采用一个点并将其通过矩阵乘法转换为另一点的矩阵。 在这种情况下,我们的图表转换将在数据的XY坐标中获取点,并允许我们在折线图视图的XY坐标中进行绘制。 我们将其设为可选,以便在绘制数据之前可以验证是否有图表变换。 要从头开始,您需要六个参数。 a和d分别缩放x和y,b和c有助于旋转(因此我们将它们设置为零),tx和ty转换x和y。 您也可以一次为它们设置2个参数,但在此不再赘述。 为此的代码即将到来。

在iOS 10中将领域和图表与Swift 3结合使用

当我阅读有关如何一起使用Realm和Charts的一些教程时,我面临的挑战很少。 主要是因为我发现的所有教程都是针对Swift 2和旧版本的Realm和/或Charts的。 因此,我决定在GitHub上创建一个简单的示例项目,并写下所采取的步骤。 这是为了让我更好地记住,并希望能帮助其他遇到相同问题的人。 关于本教程 本教程从创建新项目开始,并假定读者已经对Xcode和Swift有所了解。 在此示例中,我们制作了一个简单的应用程序,您可以在其中计算访问者,并通过按按钮将当前计数和日期添加到数据库中。 然后它将立即显示在图表中。 本教程中使用的软件 这是我在本教程中使用的已使用软件的列表。 如果您的计算机上尚未安装CocoaPods,请从下面查看安装指南,因为需要遵循该指南。 Xcode 8.0(8A218a) CocoaPods(1.0.1)( 安装指南 ) RealmSwift(2.0.2) 图表(3.0.1) 您最喜欢的用于编辑Podfile的文本编辑器(我使用Sublime Text) 建立新专案 启动您的Xcode并创建新的Xcode项目。 然后选择Single View Application,然后单击Next 。 现在,我们为项目设置选项。 您可以使用任何想要用作产品名称 , 组织名称和组织标识符的 名称 。 根据需要填充数据后,单击“ 下一步” 。 接下来,您将选择要存储在设备上的项目的位置。 在此示例中,我选择了桌面。 如果您想为项目创建Git存储库,请选中Source Control 。 此后,将创建您的项目,并向您显示类似的Xcode。 现在关闭Xcode。 使用CocoaPods 接下来,我们将为项目设置CocoaPods。 为此,您必须打开终端并转到创建项目的文件夹。 因为我们确实将本教程中的项目保存到了桌面,所以我们将这样写到终端: cd桌面/ RealmAndCharts示例/ RealmAndCharts示例/ 现在您位于正确的文件夹中,我们准备设置CocoaPods。 因此,将以下命令写入Terminal。 荚初始化 CocoaPods将生成一个名为Podfile的文件。 在您喜欢的文本编辑器中将其打开。 […]

苹果代码符号简化图

Apple文档似乎并不擅长简化开发人员的工作。 因此,为了使我清楚什么是代码签名,我提出了这些。 iOS应用程序需要通过Apple开发者团队资料中的证书进行签名,然后在指定设备上运行。 供应配置文件包括所有这些信息。 具体来说,在Xcode构建过程中,使用私钥对应用进行了签名。 供应简档包括公共密钥,该公共密钥是私有密钥的某些加密功能。 在新设备上安装该应用程序后,使用公钥解密来自该应用程序的某些消息可以验证该应用程序是否已被修改。 通常,构建iOS应用程序可满足以下两个目的之一:开发或发行。 用于两个目的的相应设置,命令和必需的配置文件如下:

Swift 3-iOS图表API

图表API github:https://github.com/danielgindi/Charts 主要参考教学:http://www.appcoda.com.tw/ios-charts-api-tutorial/,但此份教学是用之前的版本所写的,所以部分语法与需要更新。 如果在Swift3,图表3.0,Xcode8的环境下,可参考:https://medium.com/@skoli/using-realm-and-charts-with-swift-3-in-ios-10-40c42e3838c0#.n8ffy5nkx 实作过程遇到的问题: 版本更新后,如何输出X轴的值: 如何快速修改X轴值? :https://github.com/danielgindi/Charts/issues/1340 需要另外建立一个新的IAxisValueFormatter的类 2.输出X轴的值之后,现有条形图只显示出单数的值 3.饼图没有XAxis的属性 4.发生小插曲:无法将类型’Charts.LineChartData’(0x10f044920)的值强制转换为’Charts.PieChartData’(0x10f0476c8)。 因为在拉Outlet时,把名称取相反造成崩溃。 此次实作的连结: GitHub – dan12411 / iOSChartsDemo 通过在GitHub上创建一个帐户为iOSChartsDemo开发做出贡献。 github.com

iOS图表:自定义Y轴值

尽管我对iOS图表还很陌生,但是我在其中进行了大量的工作,并且接触到它的许多不同方面。 从自定义轴值格式器和数据集的简单端到更复杂的概念,例如自定义条形图,组合图以及其他图表和渲染器。 本文特别关注一个简​​单的主题,源于我在iOS图表GitHub页面上看到的有关自定义y轴标签的最新问题。 这个问题并不是最复杂的。 但是,我希望有人被卡住,他们会偶然发现本文,并为他们指明正确的方向。 让我们开始吧。 惊喜! 在本文中,我们不会讨论如何设置iOS项目。 如果您还不知道如何操作,请搜索Medium,我相信有很多很棒的文章可以帮助您入门。 这的主要任务比您想象的要容易得多。 只需创建一个新类,使其符合IAxisValueFormatter ,并实现所需的stringForValue函数即可。 在stringForValue函数内部,您将在其中处理有关如何格式化轴标签的逻辑。 使用自定义轴格式化程序可能会很有创意,因此我敦促您熟悉它们,并看看它们可以为您做什么。 在此示例中,我们将假设我们的数据集仅包含0到4的y值。 我们的格式化程序将转换我们的y值0–4,并将其显示为从“ 强烈反对”到“ 强烈同意” 。 一致性 让我们从创建我们的类MyCustomAxisValueFormatter并使它符合IAxisValueFormatter 。 如您所见,我们有一个必须解决的错误。 我们必须实现stringForValue以满足IAxisValueFormatter协议要求。 实现stringForValue 如前所述,这是我们要返回要在轴上显示的特定值的字符串的地方。 让我们从简单地返回值的整数作为字符串开始,以了解该方法的工作原理。 添加自定义逻辑 接下来,我们将创建一个枚举来代表我们的价值观的不同状态。 这将提供一种表示我们的值的方式,并在y轴上为标签提供一个字符串。 现在我们有了带有Int rawValue的枚举,我们可以将我们的值转换为Int ,初始化一个AgreementRating ,然后使用该等级设置轴标签。 注意:为简单起见,我忽略了错误处理,因为我保证值为0–4。 但是,在现实世界中, 请勿强行打开包装并忽略失败的可能性,否则您的应用程序可能会崩溃。 配置图表轴 作为确保图表仅显示这五个标签的最后一步,我们需要在左轴上设置几个属性。 在那里,您拥有了! 带有自定义y轴标签的图表,其呈现的不仅仅是一个简单的整数/双精度值。 (是的,这是带有圆条的条形图的自定义实现。可能很快就会出现!) 现在,我们已经看到了如何创建自定义轴值格式化程序,并使用它来显示与简单数字值完全不同的字符串。 对于x轴和y轴,这些自定义格式器的功能可能非常强大。 感谢danielgindi提供出色的iOS图表库。 去看看GitHub仓库! 链接资源。 iOS图表-https://github.com/danielgindi/Charts