[Swift通天遁地]3、手势与图表-(7)建立饼形图表并导出图表为PNG图片

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-fnubarsc-ks.html 
➤若是连接不是山青咏芝的博客园地址,则多是爬取做者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持做者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

目录:[Swift]通天遁地Swiftios

本文将演示如何建立一个饼形图表,并导出图表为PNG图片。git

首先确保在项目中已经安装了所需的第三方库。github

点击【Podfile】,查看安装配置文件。swift

1 platform :ios, '12.0'
2 use_frameworks!
3 
4 target 'DemoApp' do
5     source 'https://github.com/CocoaPods/Specs.git'
6     pod 'Charts'
7 end

根据配置文件中的相关配置,安装第三方库。数组

而后点击打开【DemoApp.xcworkspace】项目文件。微信

为了更好的显示柱形图标须要调整模拟器的朝向。app

【DemoApp】->【General】ide

->【Device Orientation】取消勾选【Portrait】肖像选项,使模拟器保持横向显示。post

在项目导航区,打开视图控制器的代码文件【ViewController.swift】

如今开始编写代码,建立一个饼形图表并导出图表为PNG图片。

 1 import UIKit
 2 //首先在当前的类文件中,引入已经安装的第三方类库
 3 import Charts
 4 
 5 class ViewController: UIViewController {
 6 
 7     override func viewDidLoad() {
 8         super.viewDidLoad()
 9         // Do any additional setup after loading the view, typically from a nib.
10         
11         //建立一个图表数据记录类型的数组
12         var entries1: [ChartDataEntry] = Array()
13         
14         //而后往数组中,依次添加四条数据。
15         //分别表示环形图表各区域的比例。
16         entries1.append(ChartDataEntry(x: 1, y: 4.0))
17         entries1.append(ChartDataEntry(x: 2, y: 6.0))
18         entries1.append(ChartDataEntry(x: 3, y: 8.0))
19         entries1.append(ChartDataEntry(x: 4, y: 12.0))
20         
21         //建立一个饼形数据集,并设置数据集的值域和标签文字
22         let dataSet1 = PieChartDataSet(values: entries1, label: "Company A")
23         //因为饼形图表分为4部分,这里依次设置这四个部分的填充颜色。
24         dataSet1.colors = [NSUIColor.red, NSUIColor.black, NSUIColor.brown, NSUIColor.orange]
25         
26         //建立一个指定显示区域的饼形图表视图
27         let chart = PieChartView(frame: CGRect(x: 0, y: 10, width: 560, height: 280))
28         //设置图表视图的背景颜色为无色
29         chart.backgroundColor = NSUIColor.clear
30         //设置饼形图表所显示的数据内容
31         chart.data = PieChartData(dataSet: dataSet1)
32         //在饼形图表的中心位置,添加一个文字标签。并设置文字的内容。
33         chart.centerText = "Revenue Report"
34         //设置图表的描述信息
35         chart.chartDescription?.text = "Strengthen"
36         
37         //初始化一个字符串,表示图表导出成图片以后的存储位置
38         let imagePath = NSHomeDirectory() + "/Documents/chart.png"
39         //调用图表的存储方法,并设置图片的格式和压缩程度,
40         //图片将被保存到沙箱中的指定的文档目录。
41         if(chart.save(to: imagePath, //图片路径
42                       format: ChartViewBase.ImageFormat.png,//图片的格
43                       compressionQuality: 1.0))//压缩程度
44         {
45             //同时在控制台输出图片的日志信息
46             print(imagePath);
47         }
48         
49         //将配置好的图表添加到根视图中
50         self.view.addSubview(chart)
51     }
52 
53     override func didReceiveMemoryWarning() {
54         super.didReceiveMemoryWarning()
55         // Dispose of any resources that can be recreated.
56     }
57 }

从控制台复制输出的图片路径。找到该图片,按下键盘上的空格键,预览该图片。

相关文章
相关标签/搜索