zoukankan      html  css  js  c++  java
  • [Swift通天遁地]三、手势与图表-(7)创建饼形图表并导出图表为PNG图片

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10211126.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    目录:[Swift]通天遁地Swift

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

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

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

    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】项目文件。

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

    【DemoApp】->【General】

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

    在项目导航区,打开视图控制器的代码文件【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,  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 }

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

  • 相关阅读:
    java面试之String源码中equals具体实现
    JVM虚拟机—JVM的垃圾回收机制(转载)
    Mysql学习笔记—视图
    Mysql学习笔记—索引
    JVM虚拟机—JVM内存
    设计模式—装饰器模式
    设计模式—代理模式
    设计模式—适配器模式
    设计模式—观察者模式
    设计模式—建造者模式
  • 原文地址:https://www.cnblogs.com/strengthen/p/10211126.html
Copyright © 2011-2022 走看看