[Swift通天遁地]3、手勢與圖表-(10)建立包含圓點、方形、三角形圖標的散點圖表

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公衆號:山青詠芝(shanqingyongzhi)
➤博客園地址:山青詠芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:http://www.javashuo.com/article/p-emuiinsy-kt.html 
➤若是連接不是山青詠芝的博客園地址,則多是爬取做者的文章。
➤原文已修改更新!強烈建議點擊原文地址閱讀!支持做者!支持原創!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★html

目錄:[Swift]通天遁地Swiftios

本文將演示如何製做散點圖表。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】

 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         //依次建立三個包含6個數字的數組,做爲散點圖表的數據源
12         let values1: [Double] = [8, 61, 81, 93, 52, 44 ]
13         let values2: [Double] = [76, 25, 20, 13, 52, 57]
14         let values3: [Double] = [55, 75, 28, 23, 45, 91]
15         
16         //依次建立三個圖表數據記錄
17         var entries1: [ChartDataEntry] = Array()
18         var entries2: [ChartDataEntry] = Array()
19         var entries3: [ChartDataEntry] = Array()
20         
21         //經過一個循環
22         for (i, value) in values1.enumerated()
23         {
24             //將第一個數組中的數字,添加到圖表數據記錄中。
25             //並依次設置兩軸的數據
26             entries1.append(ChartDataEntry(x: Double(i), y: value))
27         }
28         
29         //經過一個循環
30         for (i, value) in values2.enumerated()
31         {
32             //將第一個數組中的數字,添加到圖表數據記錄中。
33             //並依次設置兩軸的數據
34             entries2.append(ChartDataEntry(x: Double(i), y: value))
35         }
36         
37         //經過一個循環
38         for (i, value) in values3.enumerated()
39         {
40             //將第一個數組中的數字,添加到圖表數據記錄中。
41             //並依次設置兩軸的數據
42             let de = ChartDataEntry(x: Double(i), y: value)
43             entries3.append(de)
44         }
45         
46         //建立第一個數據集,並設置數據集的值域和標籤文字
47         let dataSet = ScatterChartDataSet(values: entries1, label: "Company A")
48         //設置第一組的散點圖的圖標爲三角形
49         dataSet.setScatterShape(.triangle)
50         //設置散點圖表的尺寸爲20
51         dataSet.scatterShapeSize = 20
52         //設置散點圖表的填充顏色
53         dataSet.setColor(NSUIColor(red: 229/255, green: 140/255, blue: 154/255, alpha: 1))
54         
55         //建立第二個數據集,並設置數據集的值域和標籤文字
56         let dataSet2 = ScatterChartDataSet(values: entries2, label: "Company B")
57         //設置第二組的散點圖的圖標爲方形
58         dataSet2.setScatterShape(.square)
59         //設置散點圖表的填充顏色
60         dataSet2.setColor(NSUIColor(red: 243/255, green: 209/255, blue: 142/255, alpha: 1))
61         
62         //建立第三個數據集,並設置數據集的值域和標籤文字
63         let dataSet3 = ScatterChartDataSet(values: entries3, label: "Company C")
64         //設置第二組的散點圖的圖標爲圓形
65         dataSet3.setScatterShape(.circle)
66         //設置散點圖表的填充顏色
67         dataSet3.setColor(NSUIColor(red: 172/255, green: 234/255, blue: 254/255, alpha: 1))
68         
69         //建立一個指定顯示區域的散點圖表視圖
70         let chart = ScatterChartView(frame: CGRect(x: 0, y: 10, width: 560, height: 280))
71         //設置圖表視圖的背景顏色爲無色
72         chart.backgroundColor = NSUIColor.clear
73         //設置散點圖表所顯示的數據內容
74         chart.data = ScatterChartData(dataSets: [dataSet,dataSet2,dataSet3])
75         //設置圖表中的數值的最大可視數量爲200
76         chart.maxVisibleCount = 200
77         //設置水平座標軸的標籤位置
78         //共有:頂部、底部、雙側、頂部內側、底部內側五種。
79         chart.xAxis.labelPosition = .bottom
80         //設置圖表的描述信息
81         chart.chartDescription?.text = "strengthen"
82         
83         //將配置好的圖表添加到根視圖中
84         self.view.addSubview(chart)
85     }
86 
87     override func didReceiveMemoryWarning() {
88         super.didReceiveMemoryWarning()
89         // Dispose of any resources that can be recreated.
90     }
91 }
相關文章
相關標籤/搜索