swift 图表 chart

来源:互联网 发布:mysql 添加子分区 编辑:程序博客网 时间:2024/06/06 09:33

首先你需要在github上下载最新的charts库
解压缩已下载的文件,并将 Charts 文件复制粘贴到你项目(iOSChartsDemo)的根目录下。在 Finder 中打开Charts文件,并将 Charts.xcodeproj 拖拽到 Xcode 项目中。结构如下图所示。
这里写图片描述
接着从项目导航中选择你的项目,在右边的常规选项卡中找到 Embedded Binaries 部分,点击该部分的+号添加图表框架。从列表中选择 Charts.framework 并点击 Add。
这里写图片描述
因为我已经上传过的所以它是灰的

然后Command+B编译一下,不然等下在导入头文件的时候识别不了

创建一个BarChartViewController 在头部import Charts

在storyboard中拖一个View 并约束好大下 和代码关联

运行程序
这里写图片描述

如果在没有数据来产生图表时,你想在空白状态显示其他的信息,这时候可以自定义这个提示信息。在 viewDidLoad()函数底部,加入下列代码。
barChartView.noDataTextDescription = “GIVE REASON”
let aa = BarChartDataEntry(x: 1.0,y: 1.0)

在这里BarChartDataEntry的参数的类型只能是double类型的,我们的图表不可能只是数据,大部分会有中文,找了好久一只没找到相关API最后才发现要设置X轴的格式后就可以设置标签样式了     let aa1 = BarChartDataEntry(x: 2.0,y: 2.0)    let aa2 = BarChartDataEntry(x: 3.0,y: 3.0)    let aa3 = BarChartDataEntry(x: 4.0,y: 4.0)    let aa4 = BarChartDataEntry(x: 5.0,y: 5.0)    let aa5 = BarChartDataEntry(x: 6.0,y: 6.0)    let aa6 = BarChartDataEntry(x: 7.0,y: 7.0)    let aa7 = BarChartDataEntry(x: 8.0,y: 8.0)    let aa8 = BarChartDataEntry(x: 9.0,y: 9.0)    let arrays=[aa,aa1,aa2,aa3,aa4,aa5,aa6,aa7,aa8]    let data = BarChartData()    let ds1 = BarChartDataSet(values: arrays, label: "func-小刚")    ds1.colors = [NSUIColor.redColor(),NSUIColor.orangeColor()]    data.addDataSet(ds1)     outletbarChartView.xAxis.axisLineWidth=0.5     outletbarChartView.data = data    //将X轴标签放到底下    outletbarChartView.xAxis.labelPosition = .Bottom    //取消双击缩放    outletbarChartView.doubleTapToZoomEnabled=false    //启用拖曳效果    outletbarChartView.dragEnabled=true    outletbarChartView.drawGridBackgroundEnabled=false    //设置X轴的线宽    //outletbarChartView.gridBackgroundColor = NSUIColor.whiteColor()    //设置lable的颜色    let xAxis=outletbarChartView.xAxis     xAxis.labelTextColor=UIColor.orangeColor()    outletbarChartView.descriptionText = "Barchart Demo"

//这里就是自定义格式 在X轴数字后面加个后缀 显示月份
let formatter:NSNumberFormatter=NSNumberFormatter()

    formatter.positiveSuffix="月"    //formatter.positivePrefix="月"    xAxis.valueFormatter = DefaultAxisValueFormatter.init(formatter: formatter)    //隐藏Y轴右侧的lable    outletbarChartView.rightAxis.enabled=false

最后界面
这里写图片描述

0 0
原创粉丝点击