#import "ViewController.h"@interface ViewController ()
//要绘制基于x,y轴的图形
@property(nonatomic,retain)CPTXYGraph *graph;
@property(nonatomic,retain)NSMutableArray *dataForPlot;
//要绘制的view 必须为CPTGraphicView
@property(nonatomic,assign)CPTGraphHostingView *hostview;
@end@implementation ViewController- (void)viewDidLoad
{[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.
    [self LoadInit];[self SetUpCoreplotViews];
}-(void)LoadInit{self.hostview=[[[CPTGraphHostingView alloc] initWithFrame:CGRectMake(0, 0, 300, 200)] autorelease];self.dataForPlot=[NSMutableArray array];[self.view addSubview:_hostview];}-(void)SetUpCoreplotViews{//1:创建线性CPTMutableLineStyle *lineStyle=[CPTMutableLineStyle lineStyle];//基于x,y轴图形的画布self.graph=[[[CPTXYGraph alloc] initWithFrame:CGRectZero] autorelease];//设置主题CPTTheme *them=[CPTTheme themeNamed:kCPTStocksTheme];//把主题设置到画布上
    [self.graph applyTheme:them];//设置画布距离view的边距self.graph.paddingLeft=10.0f;self.graph.paddingTop=10.0f;self.graph.paddingRight=10.0f;self.graph.paddingBottom=10.0f;//然后把画布设置到指定view上self.hostview.hostedGraph=_graph;//设置画布在屏幕类可显示的x,y刻度CPTXYPlotSpace *plotSpace=(CPTXYPlotSpace *)_graph.defaultPlotSpace;//可以移动plotSpace.allowsUserInteraction=YES;plotSpace.xRange=[CPTPlotRange plotRangeWithLocation:CPTDecimalFromCGFloat(1.0) length:CPTDecimalFromCGFloat(2.0)];plotSpace.yRange=[CPTPlotRange plotRangeWithLocation:CPTDecimalFromCGFloat(1.0) length:CPTDecimalFromCGFloat(3.0)];//axes 设置x,y轴属性,如原点。//得到x,y轴的集合CPTXYAxisSet *axisSet=(CPTXYAxisSet *)self.graph.axisSet;lineStyle.miterLimit=1.0f;lineStyle.lineWidth=2.0f;lineStyle.lineColor=[CPTColor whiteColor];CPTXYAxis *x=axisSet.xAxis;x.orthogonalCoordinateDecimal=CPTDecimalFromString(@"3");//原点为3.(y=3)x.majorIntervalLength=CPTDecimalFromString(@"0.5");//主刻度之间检举x.minorTicksPerInterval=5;//主刻度中显示的细分刻度的数目x.minorTickLineStyle=lineStyle;//需要排除的不显示数字的主刻度
    NSArray *exclusionRange=[NSArray arrayWithObjects:[self CPTPlotRangeFromFloat:0.99 length:0.02],[self CPTPlotRangeFromFloat:2.99 length:0.02],nil];x.labelExclusionRanges=exclusionRange;//设置y 轴CPTXYAxis *y=axisSet.yAxis;y.orthogonalCoordinateDecimal=CPTDecimalFromString(@"3");y.majorIntervalLength=CPTDecimalFromString(@"0.5");y.minorTicksPerInterval=5;y.minorTickLineStyle=lineStyle;NSArray *yexclusionRange=[NSArray arrayWithObjects:[self CPTPlotRangeFromFloat:0.99 length:0.22],[self CPTPlotRangeFromFloat:2.99 length:0.22],nil];y.labelExclusionRanges=yexclusionRange;}-(CPTPlotRange *)CPTPlotRangeFromFloat:(float)location length:(float)length
{return [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(location) length:CPTDecimalFromFloat(length)];
}- (void)dealloc
{[_graph release];[_dataForPlot release];[super dealloc];
}

参考文章 http://www.cnblogs.com/kesalin/archive/2013/04/04/coreplot_xygrapha.html

画折线

//
//  ViewController.m
//  corePlot
//
//  Created by ganchaobo on 13-7-31.
//  Copyright (c) 2013年 ganchaobo. All rights reserved.
//

#import "ViewController.h"@interface ViewController ()
//要绘制基于x,y轴的图形
@property(nonatomic,retain)CPTXYGraph *graph;
@property(nonatomic,retain)NSMutableArray *dataForPlot;
//要绘制的view 必须为CPTGraphicView
@property(nonatomic,assign)CPTGraphHostingView *hostview;
@end@implementation ViewController- (void)viewDidLoad
{[super viewDidLoad];// Do any additional setup after loading the view, typically from a nib.
    [self LoadInit];[self SetUpCoreplotViews];
}-(void)LoadInit{self.hostview=[[[CPTGraphHostingView alloc] initWithFrame:CGRectMake(0, 0, 300, 200)] autorelease];self.dataForPlot=[NSMutableArray array];[self.view addSubview:_hostview];//_dataForPlot = [NSMutableArray arrayWithCapacity:100];
    NSUInteger i;for ( i = 0; i < 100; i++ ) {id x = [NSNumber numberWithFloat:0 + i * 0.05];id y = [NSNumber numberWithFloat:1.2 * rand() / (float)RAND_MAX + 1.2];[_dataForPlot addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:x, @"x", y, @"y", nil]];}}-(void)SetUpCoreplotViews{//1:创建线性CPTMutableLineStyle *lineStyle=[CPTMutableLineStyle lineStyle];//基于x,y轴图形的画布self.graph=[[[CPTXYGraph alloc] initWithFrame:CGRectZero] autorelease];//设置主题CPTTheme *them=[CPTTheme themeNamed:kCPTStocksTheme];//把主题设置到画布上
    [self.graph applyTheme:them];//设置画布距离view的边距self.graph.paddingLeft=10.0f;self.graph.paddingTop=10.0f;self.graph.paddingRight=10.0f;self.graph.paddingBottom=10.0f;//然后把画布设置到指定view上self.hostview.hostedGraph=_graph;//设置画布在屏幕类可显示的x,y刻度CPTXYPlotSpace *plotSpace=(CPTXYPlotSpace *)_graph.defaultPlotSpace;//可以移动plotSpace.allowsUserInteraction=YES;plotSpace.xRange=[CPTPlotRange plotRangeWithLocation:CPTDecimalFromCGFloat(1.0) length:CPTDecimalFromCGFloat(2.0)];plotSpace.yRange=[CPTPlotRange plotRangeWithLocation:CPTDecimalFromCGFloat(1.0) length:CPTDecimalFromCGFloat(3.0)];//axes 设置x,y轴属性,如原点。//得到x,y轴的集合CPTXYAxisSet *axisSet=(CPTXYAxisSet *)self.graph.axisSet;lineStyle.miterLimit=1.0f;lineStyle.lineWidth=2.0f;lineStyle.lineColor=[CPTColor whiteColor];CPTXYAxis *x=axisSet.xAxis;x.orthogonalCoordinateDecimal=CPTDecimalFromString(@"3");//原点为3.(y=3)x.majorIntervalLength=CPTDecimalFromString(@"0.5");//主刻度之间检举x.minorTicksPerInterval=5;//主刻度中显示的细分刻度的数目x.minorTickLineStyle=lineStyle;//需要排除的不显示数字的主刻度
    NSArray *exclusionRange=[NSArray arrayWithObjects:[self CPTPlotRangeFromFloat:0.99 length:0.02],[self CPTPlotRangeFromFloat:2.99 length:0.02],nil];x.labelExclusionRanges=exclusionRange;//设置y 轴CPTXYAxis *y=axisSet.yAxis;y.orthogonalCoordinateDecimal=CPTDecimalFromString(@"3");y.majorIntervalLength=CPTDecimalFromString(@"0.5");y.minorTicksPerInterval=5;y.minorTickLineStyle=lineStyle;NSArray *yexclusionRange=[NSArray arrayWithObjects:[self CPTPlotRangeFromFloat:0.99 length:0.22],[self CPTPlotRangeFromFloat:2.99 length:0.22],nil];y.labelExclusionRanges=yexclusionRange;//画折线lineStyle.miterLimit=1.0f;lineStyle.lineWidth=3.0f;lineStyle.lineColor=[CPTColor blueColor];//折线的对象CPTScatterPlot *boundlinePlot=[[CPTScatterPlot alloc] init];boundlinePlot.dataLineStyle=lineStyle;boundlinePlot.identifier=@"blue";boundlinePlot.dataSource=self;[_graph addPlot:boundlinePlot];}-(CPTPlotRange *)CPTPlotRangeFromFloat:(float)location length:(float)length
{return [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(location) length:CPTDecimalFromFloat(length)];
}#pragma mark -plot delegate
-(NSUInteger)numberOfRecordsForPlot:(CPTPlot *)plot{return self.dataForPlot.count;
}-(NSNumber *)numberForPlot:(CPTPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index
{NSString * key = (fieldEnum == CPTScatterPlotFieldX ? @"x" : @"y");NSNumber * num = [[_dataForPlot objectAtIndex:index] valueForKey:key];NSLog(@"%zi-->%@",[num intValue],key);return num;
}- (void)dealloc
{[_graph release];[_dataForPlot release];[super dealloc];
}
@end

转载于:https://www.cnblogs.com/gcb999/p/3228855.html

ios core plot设置xy坐标相关推荐

  1. iOS 使用 Core Plot 绘制统计图表入门

    本文转载至 http://blog.csdn.net/zhibudefeng/article/details/7677457 iOS(iPhone/iPad) 下图形组件有两个有名的,s7graphv ...

  2. ios 图像坐标系_[译] iOS 开源图形库 Core Plot 使用教程

    注意 :本篇教程已被 Attila Hegedüs 更新,可适用于 iOS 9 和 Swift 2.2.原始教程出自教程组成员 Steve Baranski. 如果你曾经想在自己的 app 中引入图表 ...

  3. iOS 开源图形库 Core Plot 使用教程

    本文讲的是iOS 开源图形库 Core Plot 使用教程, 注意 :本篇教程已被 Attila Hegedüs 更新,可适用于 iOS 9 和 Swift 2.2.原始教程出自教程组成员 Steve ...

  4. iOS中使用Core Plot绘制统计图入门

    iOS(iPhone/iPad) 下图形组件有两个有名的,s7graphview 和 Core Plot,它们都是在 Google 上托管的代码,听说 Core Plot 比较强,因为前者仅支持曲线图 ...

  5. 图层几何学 -- iOS Core Animation 系列二

    <图层树和寄宿图 -- iOS Core Animation 系列一>介绍了图层的基础知识和一些属性方法.这篇主要内容是学习下图层在父图层上怎么控制位置和尺寸的. 1.布局 首先看一张例图 ...

  6. iOS Core Animation 简明系列教程

    iOS Core Animation 简明系列教程 看到无数的CA教程,都非常的难懂,各种事务各种图层关系看的人头大.自己就想用通俗的语言翻译给大家听,尽可能准确表达,如果哪里有问题,请您指出我会尽快 ...

  7. iOS Core Graphics绘图

    Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎.它提供了低级别.轻量级.高保真度的2D渲染. 上下文 Core Graphics API所有的操 ...

  8. iOS - Core Animation 核心动画

    1.UIView 动画 具体讲解见 iOS - UIView 动画 2.UIImageView 动画 具体讲解见 iOS - UIImageView 动画 3.CADisplayLink 定时器 具体 ...

  9. 将ONNX对象检测模型转换为iOS Core ML(一)

    目录 介绍 使用YOLO进行物体检测 寻找正确的模型 将ONNX转换为Core ML 下一步 总目录 将ONNX对象检测模型转换为iOS Core ML(一) 解码Core ML YOLO对象检测器( ...

最新文章

  1. java.lang.IllegalMonitorStateException 异常出现原因
  2. MikroTik Routeros Wlan应用之-pppoe Server
  3. Image Semantic Segmentation之DeepLab两个坑
  4. 修改mdev配置支持SD卡自动挂载
  5. Android开发之基本概念
  6. 【渝粤题库】广东开放大学 跨境电商搜索引擎优化 形成性考核
  7. yum命令不能使用的相关错误
  8. linux内核的nfs实现框架
  9. 医疗保健行业未来发展的5大趋势预测
  10. jvisualvm的使用
  11. Java实习日记(1)
  12. FMS的安装、基本配置及基本测试
  13. 今日骑行路线里程。。。
  14. 中国研发出勒索病毒防御软件 能阻止其破坏文件
  15. SATA 3.2协议 Error handing机制
  16. OraDump导出套件
  17. input。file清除。js,jquery
  18. 会员等级进度功能前端实现
  19. React学习手册 React学习手册中文版 React学习手册pdf React学习手册中文版pdf
  20. Unity基础篇:Serializable总结与深入研究。

热门文章

  1. 打印机修复工具_打印机常见故障排除及修复方法
  2. windows电脑防火墙关闭,一键系统防火墙关闭工具推荐
  3. Android 开发都有哪些好书值得一读?
  4. TSP问题解析篇之自适应大邻域搜索(ALNS)算法深度通读(附python代码)
  5. Photoshop滤镜巧制超级美女插画效果(转)
  6. C# 参数1:值参数----值类型和引用类型及特例string
  7. 耳麦不能讲话怎么办?
  8. 阿里飞冰的介绍以及使用
  9. 新数据时代的挑战与机遇 傲腾生态填补产业鸿沟
  10. Mit6.S081学习记录