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(, , , )] 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.(y=3)
- x.majorIntervalLength=CPTDecimalFromString(@"0.5");//主刻度之间检举
- x.minorTicksPerInterval=;//主刻度中显示的细分刻度的数目
- 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(@"");
- y.majorIntervalLength=CPTDecimalFromString(@"0.5");
- y.minorTicksPerInterval=;
- 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(, , , )] autorelease];
- self.dataForPlot=[NSMutableArray array];
- [self.view addSubview:_hostview];
- //_dataForPlot = [NSMutableArray arrayWithCapacity:100];
- NSUInteger i;
- for ( i = ; i < ; i++ ) {
- id x = [NSNumber numberWithFloat: + 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.(y=3)
- x.majorIntervalLength=CPTDecimalFromString(@"0.5");//主刻度之间检举
- x.minorTicksPerInterval=;//主刻度中显示的细分刻度的数目
- 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(@"");
- y.majorIntervalLength=CPTDecimalFromString(@"0.5");
- y.minorTicksPerInterval=;
- 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
ios core plot设置xy坐标的更多相关文章
- iOS 使用 Core Plot 绘制统计图表入门
本文转载至 http://blog.csdn.net/zhibudefeng/article/details/7677457 iOS(iPhone/iPad) 下图形组件有两个有名的,s7gra ...
- 转 iOS Core Animation 动画 入门学习(一)基础
iOS Core Animation 动画 入门学习(一)基础 reference:https://developer.apple.com/library/ios/documentation/Coco ...
- iOS Core Animation 简明系列教程
iOS Core Animation 简明系列教程 看到无数的CA教程,都非常的难懂,各种事务各种图层关系看的人头大.自己就想用通俗的语言翻译给大家听,尽可能准确表达,如果哪里有问题,请您指出我会尽 ...
- iOS - Core Animation 核心动画
1.UIView 动画 具体讲解见 iOS - UIView 动画 2.UIImageView 动画 具体讲解见 iOS - UIImageView 动画 3.CADisplayLink 定时器 具体 ...
- 如何使用 Core Plot 的 API 帮助文档
Core Plot 可是 iOS 下绝好的图表组件,虽说它的相关资料不甚丰富,特别是中文的,英文的还是有几篇不错的文章,不过 Core Plot 自身提供的 API 帮助文档,以及代码示例其实很有用的 ...
- iOS开发UI篇—九宫格坐标计算
iOS开发UI篇—九宫格坐标计算 一.要求 完成下面的布局 二.分析 寻找左边的规律,每一个uiview的x坐标和y坐标. 三.实现思路 (1)明确每一块用得是什么view (2)明确每个view之间 ...
- iOS开发--应用设置及用户默认设置【1、bundle的运用】
在iphone里面,应用都会在“设置”里面有个专属的应用设置,选择该菜单界面,用户便可以在其中输入和更改各种选项,协助用户更便捷设置个人喜好与习惯. 在这一节中,希望能通过对捆绑包(bu ...
- iOS开发--应用设置及用户默认设置——转载
[链接]iOS开发--应用设置及用户默认设置[1.bundlehttp://www.jianshu.com/p/6f2913f6b218 在iphone里面,应用都会在“设置”里面有个专属的应用设置, ...
- 解决iOS中 tabBarItem设置图片(image+title切图在一起)时造成的图片向上偏移
解决iOS中 tabBarItem设置图片(image+title切图在一起)时造成的图片向上偏移 解决办法1:设置tabBarItem的imageInsets属性 代码示例: childContro ...
随机推荐
- axios post提交的Content-Type
使用axios的坑 jQuery.ajax的post提交默认的请求头的Content-Type: application/x-www-form-urlencoded而axios.post提交的请求头是 ...
- 如何清空IFRAME中的HTML
window.frames["ifra"].document.write(""); window.frames["ifra"].docume ...
- 【Scala】Scala-循环与遍历
Scala-循环与遍历 scala for 1000_百度搜索 Scala 2.8的for表达式:性能与运行顺序的改进 - 51CTO.COM scala List集合的用法 - CSDN博客
- scikit-learn工具学习 - random,mgrid,np.r_ ,np.c_, scatter, axis, pcolormesh, contour, decision_function
yuanwen: http://blog.csdn.net/crossky_jing/article/details/49466127 scikit-learn 练习题 题目:Try classify ...
- 4444: [Scoi2015]国旗计划|贪心|倍增
由于没有区间被其它区间包括这个条件,也就是假设li<lj那么一定满足ri<rj,就能够贪心搞一搞了. 假如区间[l,r]都已经被覆盖,那么能够继续找一个li在[l,r]范围内的最大的一个, ...
- Springboot单元测试(MockBean||SpyBean)
转载:https://blog.csdn.net/maiyikai/article/details/78483423 本来要写springboot集成netty实现的,但是想起来单元测试没总结,那就趁 ...
- IC卡制作常识概述
ic卡主要有9种: 1.接触型IC卡: 2.非接触型IC卡: 3.串行传输型IC卡: 4.并行传输型IC卡: 5.存储型IC卡: 6.智能型IC卡: 7.超级 ...
- 刷完OpenWrt在浏览器无法访问的解决办法
其实问题很明显. 是因为刷了trunk版固件. 并没有集成luci. 那接下来就是装luci.但是装luci需要联网(不过其实不联网其实也是可以安装的.) 我说的联网是让路有联网.而不是网线接路由,路 ...
- LintCode: Convert Sorted Array to Binary Search Tree With Minimal Height
C++ /** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; ...
- ZH奶酪:PHP 使用DOMDocument操作XML
原文链接:http://my.oschina.net/zhangb081511/blog/160113 PHP写XML方法很多,这里主要介绍一下DOMDocument的用法,跟 JS大体上相同,其实非 ...