ios core plot设置xy坐标
#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坐标相关推荐
- iOS 使用 Core Plot 绘制统计图表入门
本文转载至 http://blog.csdn.net/zhibudefeng/article/details/7677457 iOS(iPhone/iPad) 下图形组件有两个有名的,s7graphv ...
- ios 图像坐标系_[译] iOS 开源图形库 Core Plot 使用教程
注意 :本篇教程已被 Attila Hegedüs 更新,可适用于 iOS 9 和 Swift 2.2.原始教程出自教程组成员 Steve Baranski. 如果你曾经想在自己的 app 中引入图表 ...
- iOS 开源图形库 Core Plot 使用教程
本文讲的是iOS 开源图形库 Core Plot 使用教程, 注意 :本篇教程已被 Attila Hegedüs 更新,可适用于 iOS 9 和 Swift 2.2.原始教程出自教程组成员 Steve ...
- iOS中使用Core Plot绘制统计图入门
iOS(iPhone/iPad) 下图形组件有两个有名的,s7graphview 和 Core Plot,它们都是在 Google 上托管的代码,听说 Core Plot 比较强,因为前者仅支持曲线图 ...
- 图层几何学 -- iOS Core Animation 系列二
<图层树和寄宿图 -- iOS Core Animation 系列一>介绍了图层的基础知识和一些属性方法.这篇主要内容是学习下图层在父图层上怎么控制位置和尺寸的. 1.布局 首先看一张例图 ...
- iOS Core Animation 简明系列教程
iOS Core Animation 简明系列教程 看到无数的CA教程,都非常的难懂,各种事务各种图层关系看的人头大.自己就想用通俗的语言翻译给大家听,尽可能准确表达,如果哪里有问题,请您指出我会尽快 ...
- iOS Core Graphics绘图
Core Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎.它提供了低级别.轻量级.高保真度的2D渲染. 上下文 Core Graphics API所有的操 ...
- iOS - Core Animation 核心动画
1.UIView 动画 具体讲解见 iOS - UIView 动画 2.UIImageView 动画 具体讲解见 iOS - UIImageView 动画 3.CADisplayLink 定时器 具体 ...
- 将ONNX对象检测模型转换为iOS Core ML(一)
目录 介绍 使用YOLO进行物体检测 寻找正确的模型 将ONNX转换为Core ML 下一步 总目录 将ONNX对象检测模型转换为iOS Core ML(一) 解码Core ML YOLO对象检测器( ...
最新文章
- java.lang.IllegalMonitorStateException 异常出现原因
- MikroTik Routeros Wlan应用之-pppoe Server
- Image Semantic Segmentation之DeepLab两个坑
- 修改mdev配置支持SD卡自动挂载
- Android开发之基本概念
- 【渝粤题库】广东开放大学 跨境电商搜索引擎优化 形成性考核
- yum命令不能使用的相关错误
- linux内核的nfs实现框架
- 医疗保健行业未来发展的5大趋势预测
- jvisualvm的使用
- Java实习日记(1)
- FMS的安装、基本配置及基本测试
- 今日骑行路线里程。。。
- 中国研发出勒索病毒防御软件 能阻止其破坏文件
- SATA 3.2协议 Error handing机制
- OraDump导出套件
- input。file清除。js,jquery
- 会员等级进度功能前端实现
- React学习手册 React学习手册中文版 React学习手册pdf React学习手册中文版pdf
- Unity基础篇:Serializable总结与深入研究。