ios 绘制曲线走势图

- (void)drawLine{

    //view是曲线的背景view
    UIView *view = [[UIView alloc]initWithFrame:CGRectMake(10, 0, 300, 300)];
    view.backgroundColor = [UIColor whiteColor];
    [self.view addSubview:view];

    //第一、UIBezierPath绘制线段
    UIBezierPath *path = [UIBezierPath bezierPath];

    //四个点
    CGPoint point = CGPointMake(10, 10);
    CGPoint point1 = CGPointMake(200, 100);
    CGPoint point2 = CGPointMake(240, 200);
    CGPoint point3 = CGPointMake(290, 200);

    NSArray *arr = [NSArray arrayWithObjects:[NSValue valueWithCGPoint:point],[NSValue valueWithCGPoint:point1],[NSValue valueWithCGPoint:point2],[NSValue valueWithCGPoint:point3], nil];
    NSIndexSet *set = [NSIndexSet indexSetWithIndexesInRange:NSMakeRange(0, arr.count)];
   //第二、就是这句话绘制
    [arr enumerateObjectsAtIndexes:set options:0 usingBlock:^(NSValue *pointValue, NSUInteger idx, BOOL *stop){

        CGPoint point = [pointValue CGPointValue];
        [path addLineToPoint:point];

        //(一)rect折线画法
        CGRect rect;
        rect.origin.x = point.x - 1.5;
        rect.origin.y = point.y - 1.5;
        rect.size.width = 4;
        rect.size.height = 4;

        //(二)rect射线画法
//        CGRect rect = CGRectMake(10, 10, 1, 1);

        UIBezierPath *arc= [UIBezierPath bezierPathWithOvalInRect:rect];
        [path appendPath:arc];
    }];
    //第三、UIBezierPath和CAShapeLayer关联
    CAShapeLayer *lineLayer = [CAShapeLayer layer];
    lineLayer.frame = CGRectMake(0, 150, 320, 400);
    lineLayer.fillColor = [UIColor redColor].CGColor;
    lineLayer.path = path.CGPath;
    lineLayer.strokeColor = [UIColor redColor].CGColor;
    [view.layer addSublayer:lineLayer];

    //以下代码为附加的
    //(一)像一个幕布一样拉开,显得有动画
    UIView *view1 = [[UIView alloc]initWithFrame:CGRectMake(0, 100, 320, 400)];
    view1.backgroundColor = [UIColor whiteColor];
    [self.view addSubview:view1];

    [UIView animateWithDuration:5 animations:^{
        view1.frame = CGRectMake(320, 100, 320, 400);
    }];

}
时间: 2024-10-10 11:59:05

ios 绘制曲线走势图的相关文章

Html5 canvas 绘制彩票走势图

因需要 要实现一个类似彩票走势图的功能,初次学Html5 ,很多地方不明白,前段时间也发帖请教过这个问题,也是没给个明确说话,在网上搜了很多,也没有实现的例子,今天仔细研究了下,发现其实也不是很难,现将代码贴出来,共同学习! 先来一张效果图: 实现的代码: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <me

matlab绘制曲线对比图

>> clear;>> x1=[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8];>> y1=[0,0.55,0.69,0.86,0.93,0.93,0.97,0.97,1];>> x2=[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8];>> y2=[0,0.45,0.79,0.93,0.97,0.97,1,1,1];>> x3=[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0

python 绘制走势图

1.工具 matplotlib numpy 2.matplotlib使用 import matplotlib.pyplot as plt #plt用于显示图片import matplotlib.image as mping #mping用于读取图片import datetime as dtimport matplotlib.dates as mdatesfrom pylab import * def draw_trend_chart(dates,y):    mpl.rcParams['font

iOS 中使用.9图

背景 .9图来源于Android.为了设计出一套图,兼容Android和iOS,使用.9图的方式来对图片进行拉伸以适应不同的屏幕.在iOS中没有.9图的概念,只能先了解Android的.9图再进行模拟Android的方法. 什么是.9图片 即图片后缀名前有.9的图片,如pic.9.png.pic1.9.jgp,诸如此类的图片就称为.9图片.且在原始图片四周添加了一个像素,在这一个像素上用黑线标识出相关的区域. .9图片的作用 .9图片的作用是在图片拉伸的时候特定的区域不会发生图片失真,特定的区域

C# chart控件绘制曲线

在.NET中以前经常用GDI去绘制,虽然效果也不错,自从.NET 4.0开始,专门为绘制图表而生的Chart控件出现了,有了它,就可以轻松的绘制你所需要的曲线图.柱状图什么的了. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using System.Windows.Forms.DataVisualization.C

ios 绘制wav波形图

最近研究了如何在iOS上绘制wav波形图.查了很多资料,都没能找到一个很完整的介绍,我这里总结一下一些经验. 首先需要了解wav的这3个重要指标:采样率.采样位数.声道数.下面以16KHz, 16Bit, 单声道为例来说明. 采样率:(也称为采样速度或者采样频率)定义了每秒从连续信号中提取并组成离散信号的采样个数,单位用赫兹(Hz)来表示.采样频率的倒数是采样周期(也 称为采样时间),它表示采样之间的时间间隔.采样率为16KHz,表明每秒钟采样有16K次,即0.001秒内采集16个值. 采样位数

详述Canvas(四)/绘制曲线

Canvas提供了4个绘制曲线的方法: arc(x,y,stratAngle,endAngle,true/false);//默认为false arcTo(x1,y1,x2,y2,r); x1,y2坐标一,x2,y2坐标2,r是圆弧半径 quadraticCurveTo(dx,dy,x,y); dx,dy控制点,x,y是结束点 bezierCurveTo(dx1,dy1,dx2,dy2,x,y); dx1,dy1是控制点一,dx2,dy2是控制点二,x,y是结束点 1.arc(x,y,startA

C#中利用LightningChart绘制曲线图表

最近在做一个"基于C#语言的电炉温控制软件设计"的设计,我在大学并不是专业学习C#语言编程的,对C#的学习研究完全是处于兴趣,所以编程技术也不是很厉害,遇到问题多参照网络上的开源码. 这不,在做这个课题的时候就遇到了这么一个问题,既然是要控制电炉温,就离不开温度曲线的实时绘制显示,就希望能够有那么一个控件能够完成曲线绘制,寻遍网络,尝试过许多控件,也试过VisualStudio2015中的Chart控件,效果都不是很好.有的网友说在Panel中直接DrawLine就行,我觉得更不行,C

[ html canvas 绘制曲线三种方法 ] canvas绘图 绘制曲线三种方法属性实例演示

1 <!DOCTYPE html> 2 <html lang='zh-cn'> 3 <head> 4 <title>Insert you title</title> 5 <meta name='description' content='this is my page'> 6 <meta name='keywords' content='keyword1,keyword2,keyword3'> 7 <meta htt