• [Swift通天遁地]三、手势与图表-(8)制作股市中常用的蜡烛图表


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

    目录:[Swift]通天遁地Swift

    本文将演示如何制作股市中常用的蜡烛图表。

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

    点击【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】

     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 highs: [Double] = [1801.6, 1762.1, 1740.9, 1726.7, 1725.9, 1736.2]
    13         //创建一个包含6个数字的数组,作为一天中的股市低位的数据
    14         let lows: [Double] = [1750.0, 1718.8, 1715.0, 1695.5, 1706.7, 1722.7]
    15         //创建一个包含6个数字的数组,作为一天中的股市开市时的数据
    16         let opens: [Double] = [1801.4, 1750.8, 1725.8, 1722.6, 1706.7, 1727,4]
    17         //创建一个包含6个数字的数组,作为一天中的股市结束时的数据
    18         let closes: [Double] = [1752.6, 1724.0, 1720.6, 1704.5, 1724.5, 1725.4]
    19 
    20         //在蜡烛图中,将使用这些数据,展示6天的股市数据。
    21         
    22         //创建一个图表数据记录类型的数组
    23         var entries1: [ChartDataEntry] = Array()
    24         //通过一个6次的循环
    25         for (i, value) in highs.enumerated()
    26         {
    27             //将四个数组中的数字,添加到图表数据记录中。
    28             entries1.append(CandleChartDataEntry(x: Double(i)+1, shadowH: value, shadowL: lows[i], open: opens[i], close: closes[i]))
    29         }
    30         
    31         //创建第一个蜡烛图表数据集,并设置数据集的值域和标签文字
    32         let dataSet = CandleChartDataSet(values: entries1, label: "Company A")
    33         //设置数据集的填充颜色
    34         dataSet.setColor(NSUIColor(red: 229/255, green: 140/255, blue: 154/255, alpha: 1))
    35         //设置蜡烛的间距为0.3
    36         dataSet.barSpace = 0.3
    37         //设置蜡烛的负增长颜色为绿色
    38         dataSet.decreasingColor = NSUIColor.green
    39         //设置蜡烛的增长颜色为红色
    40         dataSet.increasingColor = NSUIColor.red
    41         //设置蜡烛的中性颜色为蓝色
    42         dataSet.neutralColor = NSUIColor.blue
    43         //设置蜡烛的阴影颜色为黑色
    44         dataSet.shadowColor = NSUIColor.black
    45         //设置阴影宽度为5.0
    46         dataSet.shadowWidth = 5.0
    47         
    48         //创建一个指定显示区域
    49         let rect = CGRect(x: 0, y: 10,  560, height: 280)
    50         //利用该区域,创建一个蜡烛图表视图
    51         let chart = CandleStickChartView(frame: rect)
    52         //设置图表视图的背景颜色为无色
    53         chart.backgroundColor = NSUIColor.clear
    54         //设置图表所显示的数据内容
    55         chart.data = CandleChartData(dataSets: [dataSet])
    56         //设置图表中的数值的最大可视数量为200
    57         chart.maxVisibleCount = 200
    58         //设置水平坐标轴的标签位置
    59         //共有:顶部、底部、双侧、顶部内侧、底部内侧五种。
    60         chart.xAxis.labelPosition = .bottom
    61         //设置图表的描述信息
    62         chart.chartDescription?.text = "https://www.cnblogs.com/strengthen/"
    63         
    64         //将配置好的图表,添加到根视图中。
    65         self.view.addSubview(chart)
    66     }
    67 
    68     override func didReceiveMemoryWarning() {
    69         super.didReceiveMemoryWarning()
    70         // Dispose of any resources that can be recreated.
    71     }
    72 }
  • 相关阅读:
    centOS6.8 安装Nginx
    Linux 的su 与sudo 的区别,查看所有用户
    查看电脑 8080端口号被哪个应用占用
    配置文件出错 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
    IDEA 代码格式化,快捷键
    学习servlet心得
    nodejs笔记
    Tomcat 7.0.3x 启动慢并且遇到StackOverflowError的异常的解决办法
    国管公积金取房本
    前端准备技术汇总
  • 原文地址:https://www.cnblogs.com/strengthen/p/10211188.html
Copyright © 2020-2023  润新知