core plot的学习与应用


基本概念说明

core-plot的UML类图如上

从上图可以看出CPTGraph类是比较核心的类,它与CPTAnnotation,CPTLegend,CPTPlotAreaFrame,CPTAxisSet,CPTPlot,CPTPlotSpace成关联关系,通过设置CPTGraph的各项参数并将其添加到视图中,即可实现统计图的绘制与显示。


关键类的功能与作用
CPTAnnotation
CPTAnnotation是抽象类,它的两个子类分别是CPTLayerAnnotation与CPTPlotSpaceAnnotation,分别用于为基本图层与绘图图层添加文字注释。
CPTLegend
用于添加图例。
CPTPlotAreaFrame
其内部的核心类为 CPTPlotArea,可以理解为plot的容器,通过设置可以定制plot以外的图形,如网格效果,背景填充颜色等,还定义了交互行为协议
CPTAxisSet
用于管理CPTAxis类与其子类,实现坐标轴的定制与显示。
CPTPlot
CPTPlot是抽象的绘图类,其有CPTBarPlot、CPTPieChart、CPTRangePlot、CPTScatterPlot、CPTTradingRangePlot五个子类,通过实现五个子类,可以分别实现条状图、圆饼图、幅度图、散点图、交易幅度图的现实。其设计思路与tableView十分相似,也是通过datasource实现数据的填充,delegate实现交互行为与特殊数据填充。
CPTPlotSpace
通过定义CPTPlotSpace实现图空间的定制,因为坐标轴中的图画通常是无限大的,因此需要配置相关的参数决定需要显示的部分。

因为,无论是绘制什么样的图,实际上就是针对性地设置以上五个类对应的对象的各项参数。



经典例程分析

条形图
结合代码注释以及最下面的界面说明图能基本了解如何绘制图片。
    // graph 添加到指定的 hostingView ,普通的 view 无法添加 graph
   
CPTGraph *graph = [[ CPTXYGraph alloc ] initWithFrame :bounds];
    [
self addGraph :graph toHostingView :hostingView];
   
   
// 设置主题,效果如手机设置主题。有如下主题 kCPTDarkGradientTheme kCPTPlainBlackTheme kCPTPlainWhiteTheme kCPTSlateTheme kCPTStocksTheme
    [
self applyTheme :theme toGraph :graph withDefault :[ CPTTheme themeNamed : kCPTPlainWhiteTheme ]];

   
// 设置 plotAreaFrame 的大小, plotAreaFrame graph 上的一张子图。设置 padding 参数是用来设置子图的四个边缘与父视图的距离
    graph.
plotAreaFrame . paddingLeft   += self . titleSize * CPTFloat ( 2.5 );
    graph.
plotAreaFrame . paddingTop     += self . titleSize * CPTFloat ( 1.25 );
    graph.
plotAreaFrame . paddingRight   += self . titleSize ;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值