GithubHelp home page GithubHelp logo

zirkfied / zfchart Goto Github PK

View Code? Open in Web Editor NEW
887.0 27.0 178.0 704 KB

A simple chart library for iOS , contains barChart, lineChart, pieChart, waveChart, radarChart, cirqueChart. Thanks for your star if you like. 一款简单好用的图表库,目前有柱状,线状,饼图,波浪,雷达,圆环等类型,喜欢的欢迎star一个...

Objective-C 100.00%

zfchart's Introduction

ZFChart

A simple chart library for iOS , contains barChart, lineChart, pieChart, waveChart, radarChart, cirqueChart. Thanks for your star if you like.

模仿PNChart,Charts写的一个图表库,用法简单,暂时有柱状图,线状图,饼图,波浪图,雷达图,圆环图等类型,带动画效果,后续可能会更新新的类型,喜欢的欢迎star一个,有任何建议或问题可以加QQ群交流:451169423

用法:

    第一步(step 1)
    将项目里ZFChart整个文件夹拖进新项目
    
    第二步(step 2)
    #import "ZFChart.h"
    
    第三步(step 3)

ZFGenericChartDataSource数据源方法

@required 必须实现的方法

    //返回value数据
    //当只有1组数据时,NSArray存储 @[@"1", @"2", @"3", @"4"]
      当有多组数据时,NSArray存储 @[@[@"123", @"300", @"490", @"380", @"167", @"235"], @[@"256", @"283", @"236", @"240", @"183", @"200"], @[@"256", @"256", @"256", @"256", @"256", @"256"]] 
    //barChart: 代表有6组,每组有3个item
    //lineChart: 代表有6组,每组有3个item(另一种理解就是有3条线,每条线上有6个点)
    
    - (NSArray *)valueArrayInGenericChart:(ZFGenericChart *)chart;

@optional 可选实现的方法

    //返回名称数组(NSArray必须存储NSString类型)
    
    - (NSArray *)nameArrayInGenericChart:(ZFGenericChart *)chart{
            return @[@"一年级", @"二年级", @"三年级", @"四年级", @"五年级", @"六年级"];
    }
    
    
    //返回颜色数组(NSArray必须存储UIColor类型, 若不设置,默认随机) 
    //barChart: 若每组有3个item,则返回3个颜色
    //lineChart:若有3条线,则返回3个颜色
    
    - (NSArray *)colorArrayInGenericChart:(ZFGenericChart *)chart{
            return @[ZFSkyBlue, ZFOrange, ZFMagenta];
    }
    
    
    //y轴(普通图表) 或 x轴(横向图表) 数值显示的最大值(若不设置,默认返回数据源最大值)
    
    - (CGFloat)axisLineMaxValueInGenericChart:(ZFGenericChart *)chart;
    
    //y轴(普通图表) 或 x轴(横向图表) 数值显示的最小值(若不设置,默认返回数据源最小值)
    //(PS:当 isResetAxisLineMinValue 为NO时,此方法无效)(When isResetAxisLineMinValue is NO, the method is invalid)
    
    - (CGFloat)axisLineMinValueInGenericChart:(ZFGenericChart *)chart;
    
    
    //y轴(普通图表) 或 x轴(横向图表) 数值显示的段数(若不设置,默认5段)
    
    - (NSInteger)axisLineSectionCountInGenericChart:(ZFGenericChart *)chart;

BarChart(柱状图)

    须遵循ZFGenericChartDataSource数据源协议

    ZFBarChart * barChart = [[ZFBarChart alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - NAVIGATIONBAR_HEIGHT)];
    barChart.dataSource = self;
    barChart.delegate = self;
    barChart.topicLabel.text = @"xx小学各年级人数";
    barChart.unit = @"人";
    [self.view addSubview:barChart];
    [barChart strokePath];

ZFBarChartDelegate协议方法

@optional 可选实现的方法

    //x轴value文本颜色数组(若不设置,则全部返回黑色)
    //返回UIColor或者NSArray(NSArray里必须存储UIColor类型)
    
    - (id)valueTextColorArrayInChart:(ZFGenericChart *)chart;


    //bar宽度(若不设置,默认为25.f)
    
    - (CGFloat)barWidthInBarChart:(ZFBarChart *)barChart;
    
    
    //组与组之间的间距(若不设置,默认为20.f)
    
    - (CGFloat)paddingForGroupsInBarChart:(ZFBarChart *)barChart;
    
    
    //每组里面,bar与bar之间的间距(若不设置,默认为5.f)(当只有一组数据时,此方法无效)
    
    - (CGFloat)paddingForBarInBarChart:(ZFBarChart *)barChart;

效果展示

    - (NSArray *)valueArrayInGenericChart:(ZFGenericChart *)chart{
            return @[@"123", @"256", @"300", @"283", @"490", @"236"];
    }

    - (NSArray *)valueArrayInGenericChart:(ZFGenericChart *)chart{
            NSArray * array1 = @[@"123", @"300", @"490", @"380", @"167", @"235"];
            NSArray * array2 = @[@"256", @"283", @"236", @"240", @"183", @"200"];
            NSArray * array3 = @[@"256", @"256", @"256", @"256", @"256", @"256"];

            return @[array1, array2, array3];
    }

    //当只有一组数据时,必须返回UIColor
    - (id)valueTextColorArrayInChart:(ZFGenericChart *)chart{
            return ZFBlue;
    }

    //当有多组数据时,若返回UIColor,则所有value颜色一致
    - (id)valueTextColorArrayInChart:(ZFGenericChart *)chart{
            return ZFBlue;
    }

    //当有多组数据时,若返回NSarray,效果如上
    - (id)valueTextColorArrayInChart:(ZFGenericChart *)chart{
            return @[ZFColor(71, 204, 255, 1), ZFColor(253, 203, 76, 1), ZFColor(16, 140, 39, 1)];
    }

LineChart(线状图)

    须遵循ZFGenericChartDataSource数据源协议
    
    ZFLineChart * lineChart = [[ZFLineChart alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - NAVIGATIONBAR_HEIGHT)];
    lineChart.dataSource = self;
    lineChart.delegate = self;
    lineChart.topicLabel.text = @"xx小学各年级男女人数";
    lineChart.unit = @"人";
    [self.view addSubview:lineChart];
    [lineChart strokePath];

ZFLineChartDelegate协议方法

@optional 可选实现的方法

    //组宽(若不设置,默认为25.f)
    
    - (CGFloat)groupWidthInLineChart:(ZFLineChart *)lineChart;
    
    
    //组与组之间的间距(若不设置,默认为20.f)
    
    - (CGFloat)paddingForGroupsInLineChart:(ZFLineChart *)lineChart
    
    
    //圆的半径(若不设置,默认为5.f)
    
    - (CGFloat)circleRadiusInLineChart:(ZFLineChart *)lineChart;
    
    
    线宽(若不设置,默认为2.f)
    
    - (CGFloat)lineWidthInLineChart:(ZFLineChart *)lineChart;

效果展示

    - (NSArray *)valueArrayInGenericChart:(ZFGenericChart *)chart{
            return @[@"123", @"256", @"300", @"283", @"490", @"236"];
    }

    - (NSArray *)valueArrayInGenericChart:(ZFGenericChart *)chart{
            NSArray * array1 = @[@"123", @"300", @"490", @"380", @"167", @"451"];
            NSArray * array2 = @[@"380", @"200", @"326", @"240", @"50", @"137"];
            NSArray * array3 = @[@"256", @"300", @"89", @"430", @"256", @"256"];

            return @[array1, array2, array3];
    }

PieChart(饼图)

    须遵循ZFPieChartDataSource,ZFPieChartDelegate协议

    ZFPieChart * pieChart = [[ZFPieChart alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - NAVIGATIONBAR_HEIGHT)];
    pieChart.dataSource = self;
    pieChart.delegate = self;
    [self.view addSubview:pieChart];
    [pieChart strokePath];

ZFPieChartDataSource数据源方法

@required 必须实现的方法

    //返回value数据(NSArray必须存储NSString类型)
    
    - (NSArray *)valueArrayInPieChart:(ZFPieChart *)chart;
    
    
    //返回颜色数组(NSArray必须存储UIColor类型)
    
    - (NSArray *)colorArrayInPieChart:(ZFPieChart *)chart;

ZFPieChartDelegate代理方法

@required 必须实现的方法

    //设置饼图的半径
    
    - (CGFloat)radiusForPieChart:(ZFPieChart *)pieChart;

@optional 可选实现的方法

    /**
      *  当饼图类型为圆环类型时,可通过此方法把半径平均分成n段,圆环的线宽为n分之1,间接计算圆环线宽,简单理解就是调整圆环线宽的粗细
      *  (若不设置,默认平均分2段)
      *  (e.g. 当radius为150,把半径平均分成4段,则圆环的线宽为150 * (1 / 4), 即37.5),如下图所示
      *
      *  (PS:此方法对 整圆(kPieChartPatternTypeForCircle)类型 无效)
      *
      *  @return 设置半径平均段数(可以为小数, 返回的值必须大于1,当<=1时则自动返回默认值)
      */
    
    - (CGFloat)radiusAverageNumberOfSegments:(ZFPieChart *)pieChart;

效果展示

饼图其余属性

    //当piePatternType设置为kPieChartPatternTypeForCircle时,则饼图为整圆,如上图所示
    pieChart.piePatternType = kPieChartPatternTypeForCircle;

WaveChart(波浪图)

    须遵循ZFGenericChartDataSource数据源协议
    
    ZFWaveChart * waveChart = [[ZFWaveChart alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - NAVIGATIONBAR_HEIGHT)];
    waveChart.dataSource = self;
    waveChart.delegate = self;
    waveChart.topicLabel.text = @"xx小学各年级人数";
    waveChart.unit = @"人";
    [self.view addSubview:waveChart];
    [waveChart strokePath];

ZFWaveChartDelegate协议方法

@optional 可选实现的方法

    //组宽(若不设置,默认为25.f)
    
    - (CGFloat)groupWidthInWaveChart:(ZFWaveChart *)waveChart;
    
    
    //组与组之间的间距(若不设置,默认为20.f)
    
    - (CGFloat)paddingForGroupsInWaveChart:(ZFWaveChart *)waveChart;


    //path颜色(若不设置,默认为ZFSkyBlue)
    
    - (UIColor *)pathColorInWaveChart:(ZFWaveChart *)waveChart;

效果展示

    //波浪图只支持显示1组数据,NSArray里只能存NSString类型
    - (NSArray *)valueArrayInGenericChart:(ZFGenericChart *)chart{
            return @[@"123", @"256", @"300", @"283", @"490", @"236"];
    }

    //设置波浪样式,默认为(kWavePatternTypeForCurve)
    waveChart.wavePatternType = kWavePatternTypeForSharp

HorizontalBarChart(横向柱状图)

    须遵循ZFGenericChartDataSource数据源协议
    delegate是ZFHorizontalBarChartDelegate

    ZFHorizontalBarChart * barChart = [[ZFHorizontalBarChart alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - NAVIGATIONBAR_HEIGHT)];
    barChart.dataSource = self;
    barChart.delegate = self;
    barChart.topicLabel.text = @"xx小学各年级人数";
    barChart.unit = @"人";
    [self.view addSubview:barChart];
    [barChart strokePath];

效果展示

image

RadarChart(雷达图)

    须遵循ZFRadarChartDataSource,ZFRadarChartDelegate协议
    
    ZFRadarChart * radarChart = [[ZFRadarChart alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - NAVIGATIONBAR_HEIGHT)];
    radarChart.dataSource = self;
    radarChart.delegate = self;
    [self.view addSubview:radarChart];
    [radarChart strokePath];

ZFRadarChartDataSource数据源方法

@required 必须实现的方法

    /**
     *  item数组(eg: 力量,智力,物防,法防,敏捷...)
     *
     *  PS:根据item数组的个数自动生成N边形
     *
     *  @return NSArray必须存储NSString类型
     */
    - (NSArray *)itemArrayInRadarChart:(ZFRadarChart *)radarChart;

    /**
     *  value数组
     *
     *  @return NSArray必须存储NSString类型
     */
    - (NSArray *)valueArrayInRadarChart:(ZFRadarChart *)radarChart;

ZFRadarChartDelegate协议方法

@required 必须实现的方法

    /**
     *  设置雷达图半径
     *
     *  @return 半径
     */
    - (CGFloat)radiusForRadarChart:(ZFRadarChart *)radarChart;

@optional 可选实现的方法

    /**
     *  设置雷达图半径延伸长度,用于计算item label的中心点位置(默认25.f)
     *
     *  @param itemIndex item下标(可根据item的字符长度自行调节item label的中心点位置)
     *
     *  @return 半径延伸长度
     */
    - (CGFloat)radiusExtendLengthForRadarChart:(ZFRadarChart *)radarChart itemIndex:(NSInteger)itemIndex;

    /**
     *  雷达图分段数值的角度位置(若不设置,默认为-90度(正上方))
     *
     *  @return 角度( 可调节范围 [-90, 270) )
     */
    - (CGFloat)valueRotationAngleForRadarChart:(ZFRadarChart *)radarChart;

效果展示

image

样式展示

image image image image

CirqueChart(圆环图)

    须遵循ZFCirqueChartDataSource,ZFCirqueChartDelegate协议
    
    ZFCirqueChart * cirqueChart = [[ZFCirqueChart alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT - NAVIGATIONBAR_HEIGHT)];
    cirqueChart.dataSource = self;
    cirqueChart.delegate = self;
    [self.view addSubview:cirqueChart];
    [cirqueChart strokePath];

效果展示

image

其余样式

image

其余说明

    1.  ZFGenericChartDataSource是柱状图(ZFBarChart, ZFHorizontalBarChart),线状图(ZFLineChart),波浪图(ZFWaveChart)的数据源方法
        ZFPieChartDataSource是饼图(ZFPieChart)的数据源方法
        根据自身使用的图表遵循对应的数据源
    
    2.  ZFBarChartDelegate是柱状图(ZFBarChart)的部分常量设置的协议方法
        ZFLineChartDelegate是线状图(ZFLineChart)的部分常量设置的协议方法
        ZFPieChartDelegate是饼图(ZFLineChart)的部分常量设置的协议方法
        ZFWaveChartDelegate是波浪图(ZFWaveChart)的部分常量设置的协议方法
        ZFHorizontalBarChartDelegate是柱状图(ZFHorizontalBarChart)的部分常量设置的协议方法
    
    3.  因再一次进行封装,柱状图(ZFBarChart, ZFHorizontalBarChart),线状图(ZFLineChart),波浪图(ZFWaveChart)均继承ZFGenericChart,故ZFGenericChartDataSource数据源方法 和 通用属性请查看 ZFGenericChart.h
        ZFBarChartDelegate协议方法 和 柱状图(ZFBarChart)专有属性 请查看 ZFBarChart.h
        ZFLineChartDelegate协议方法 和 线状图(ZFLineChart)专有属性 请查看 ZFLineChart.h
        ZFPieChartDataSource数据源方法 和 饼图(ZFPieChart)其余属性 请查看 ZFPieChart.h
        ZFWaveChartDelegate协议方法 和 波浪图(ZFWaveChart)专有属性 请查看 ZFWaveChart.h
        ZFHorizontalBarChartDelegate协议方法 和 横向柱状图(ZFHorizontalBarChart)专有属性 请查看 ZFHorizontalBarChart.h
    
    4.柱状图(ZFBarChart, ZFHorizontalBarChart),线状图(ZFLineChart),波浪图(ZFWaveChart)的valueLabel新增气泡样式,对应属性valueLabelPattern,现已默认为
      kPopoverLabelPatternPopover(气泡样式),若要改回原样式,则设置为kPopoverLabelPatternBlank;
      
      eg:  barChart.valueLabelPattern = kPopoverLabelPatternBlank;
      
    5.关于自定义设置y轴最小值说明:
      /** 该属性是否重设y轴最小值,默认为NO(不设置,从0开始),当设置为YES时,则有以下2种情况
          ①若同时实现代理方法中的 - (CGFloat)yLineMinValueInGenericChart:(ZFGenericChart *)chart,则y轴最小值为该方法的返回值
          ②若不实现①中的方法,则y轴最小值为数据源最小值


          Default is No (Start to O). When set to YES, then there are 2 kinds of situations:
          ①If at the same time to implement the method in ZFGenericChartDataSource:
           ||- (CGFloat)axisLineMinValueInGenericChart:(ZFGenericChart *)chart||,
           then axisLineMinValue is the return value of the method.
          ②If not implemented the method in ①, then axisLineMinValue is the minimum value of the dataSource.
       */
       @property (nonatomic, assign) BOOL isResetAxisLineMinValue;
      
    6.每当更新数据后或更改属性设置,则需重新调用一次 - (void)strokePath 方法。
      网络获取数据后,才调用 - (void)strokePath 方法

更新日志

    2016.02.25 初版发布
    
    2016.02.26 新增柱状图和线状图表上的数值显示
    
    2016.02.29 ①新增阴影效果
               ②新增线状图Value位置选项
               
    2016.03.23 ①添加柱状图,线状图多组数据显示
               ②更改数据源传入模式,用法请参考UITableView
               ③饼图新增整圆模式
               若更新,请删除旧版本的文件
               
    2016.03.30 ①新增波浪图表(ZFWaveChart)
               ②柱状图(ZFBarChart),线状图(ZFLineChart),波浪图(ZFWaveChart)的valueLabel新增气泡样式,
                请查看ZFPopoverLabel.h的kPopoverLabelPattern枚举类型
               ③柱状图(ZFBarChart),线状图(ZFLineChart),波浪图(ZFWaveChart)新增坐标轴的分割线显示
               ④优化线状图(LineChart)重绘时在真机上卡帧问题
               ⑤修复其余Bug
               
    2016.04.07 ①波浪图(ZFWaveChart)新增曲线样式
               ②柱状图(ZFBarChart),线状图(ZFLineChart),波浪图(ZFWaveChart)新增事件点击代理,
                点击bar,圆或popoverLaber进行后续操作,具体看Demo和对应的代理方法
                
    2016.04.29 ①新增是否以动画展示
               ②新增y轴最小值自定义设置,具体用法看上其余说明或看Demo说明
               ③新增坐标轴自定义颜色设置
               ④本次更新进行了进一步的封装,故柱状图(ZFBarChart),线状图(ZFLineChart),波浪图(ZFWaveChart)的通用属性设置
                现已全部挪动到他们的父类ZFGenericChart.h,各自专有的属性依旧在他们自身.h文件
                
    2016.06.02 ①新增横向柱状图(ZFHorizontalBarChart)
               ②部分数据源方法名和属性名称进行了修改,替换时注意修改对应属性
               
    2016.07.21 ①新增ZFPieChartDelegate协议方法,现可通过协议方法自定义饼图的半径和线宽
               ②新增饼图(ZFPieChart)事件点击协议方法,可用于点击某个path进行后续操作
               ③删除饼图(ZFPieChart)的ZFPieChartDataSource数据源方法的- (NSArray *)nameArrayInPieChart:(ZFPieChart *)pieChart
               ④删除饼图(ZFPieChart)的isShowDetail(显示详情)的属性和控件,方便自定义排版
               ⑤删除柱状图(ZFBarChart),线状图(ZFLineChart),波浪图(ZFWaveChart),新增横向柱状图(ZFHorizontalBarChart)的topic和topicColor属性,现已直接给出topicLabel控件,方便进行标题其余属性的更改
               ⑥现已支持横竖屏适配
               ⑦现已修复打印控制台的一堆警告
               
    2016.10.07 ①新增雷达图(ZFRadarChart)
               ②柱状图(ZFBarChart),线状图(ZFLineChart),波浪图(ZFWaveChart),横向柱状图(ZFHorizontalBarChart),雷达图(ZFRadarChart)新增isResetMaxValue属性
               ③新增ZFLineChartDelegate协议方法: - (NSArray *)valuePositionInLineChart:(ZFLineChart *)lineChart,现可根据该方法独立设置每条线的value位置
               ④柱状图(ZFBarChart),线状图(ZFLineChart),波浪图(ZFWaveChart),横向柱状图(ZFHorizontalBarChart),雷达图(ZFRadarChart)代理点击方法进行扩展,现可根据自身需求进行点击控件才显示value或对被点击的控件进行属性修改,具体代码查看Demo
               ⑤现将所有字体大小属性从CGFloat类型转换成UIFont类型,比以往更方便对字体进行修改,减少源码的变动
               ⑥新增部分属性设置,具体请自行探索(因为我自己都忘了-_-! )
               ⑦修复特殊情况下crash问题
               ⑧部分属性名或方法名进行修改并优化部分bug
               
    2016.10.27 ①新增圆环图(ZFCirqueChart)
               ②ZFGenericChart.h新增isShowAxisArrows属性,现可隐藏坐标轴箭头
               
    2016.11.22 ①线状图(ZFLineChart)新增曲线样式,具体属性查看相关头文件
               ②完善坐标轴分隔线
               ③完善坐标轴颜色设置,可根据自身需求将x,y轴颜色设置ZFClear从而达到隐藏效果
               
    2016.11.29 ①优化波浪图(ZFWaveChart)曲线模型下数值为0时path路径突出问题
               ②修正部分注释说明错误问题
               
    2016.12.02 ①柱状图(ZFBarChart), 波浪图(ZFWaveChart)新增渐变色样式, 具体代码查看Demo
               ②修复部分Bug
    
    2017.07.08 ①雷达图(ZFRadarChart)新增底部蒙板圆圈样式及相关属性, 具体代码查看Demo
               ②优化部分枚举值的命名,请注意修改
    
    2017.08.07 ①优化饼图(ZFPieChart)全部数据为0时的刷新问题
    
    2017.08.29 ①新增ZFGenericChartDataSource数据源方法:- (NSInteger)axisLineStartToDisplayValueAtIndex:(ZFGenericChart *)chart,根据给予的NSInteger数值从第几个数据开始显示,正数从左往右数,负数从右往左数,eg:若返回-7,就从最右的数往左数第7个数据开始显示
               ②新增ZFGenericChartDataSource数据源方法:- (void)genericChartDidScroll:(UIScrollView *)scrollView,通过此方法可实时监听坐标轴滚动的偏移量,方便后续做对应的操作
               
    2017.09.13 ①线状图(ZFLineChart)新增渐变色样式, 具体代码查看Demo
    
    2017.09.15 ①线状图(ZFLineChart)新增虚线样式(DashLine)以及相关参数属性, 具体代码查看Demo
               ②坐标轴分割线新增虚线样式(DashLine)以及相关参数属性, 具体代码查看Demo
               ③修复线状图(ZFLineChart)的一个小BUG
               
    2017.10.20 ①修复线状图(ZFLineChart)渐变色图层重绘时旧图层不移除BUG
    
    2017.12.11 ①柱状图(ZFBarChart) 和 横向柱状图(ZFHorizontalBarChart) 新增isMultipleColorInSingleBarChart属性,该属性的作用在只有一组数据的情况下,bar是否开启独立颜色(默认为NO,该属性只在singleBarChart情况下有效)

    2021.03.11 ①雷达图(ZFRadarChart)新增蒙版样式
               ②优化部分属性和方法命名

                 

本人其他开源框架

zfchart's People

Contributors

zirkfied avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zfchart's Issues

你好,建议

增加一个Y轴的最大值,自动适应跟传入值最接近的一个整数值,自动调整Y的刻度

ZFLineChart是不是有个最大的宽度?

当我在iphone5s上运行的时候,LineChart的宽度可以很好的适应屏幕,但在ihone6上的时候,设置宽度的时候,好像是有个最大的宽度,再往上加就没反应了,请问这是为什么?

Zero value below the zero Y-Axis line

Sorry, but I found another glitch with the LineChart: zero values are not drawn properly on the zero y-axis line... Actually the -4.4 value is also not below the -4 line, where it should be...

image1-3

BUG:self.genericAxis.yLineMaxValue - self.genericAxis.yLineMinValue等于0会崩溃

方法中:
CGFloat percent = ([self.genericAxis.xLineValueArray[i] floatValue] - self.genericAxis.yLineMinValue) / (self.genericAxis.yLineMaxValue - self.genericAxis.yLineMinValue);
if (percent > 1) {
percent = 1.f;
isOverrun = YES;
}
当分母self.genericAxis.yLineMaxValue - self.genericAxis.yLineMinValue=0时,就会崩溃,希望加上判断

一个小建议

你那个折线图可不可以增加个点击折线的点弹出气泡,气泡内有数字的功能,那种全部气泡显示的好像不符合当前主流

多条数据的时候能否加个图示的功能

我记得PNChart有一个添加图示样例的功能
就是多数据的情况下,用一个VIEW,表示一下什么颜色的线是什么的数据..或者什么颜色的条是什么数据.比如demo那个条形图,写个图示,同样是一年级,蓝色的代表2014年,红色的代表2015年,绿色的代表2016年...

我找了半天没找到这个图例的功能...请问这个控件有这样的功能吗?

你好

您好,如果我想把数据赋值改为点语法该如何改呢?就是不用协议方法的return去获取一个数组,直接点语法出来 ?

Distance RadarChart <> ItemLabel

Is there any way to set the distance between the radar chart and the item labels? I am using a pretty small font for the item labels, but the distance betwen the labels and the chart does not change according to the font size, which makes it look very strange with small fonts.

Maybe an optional property would be helpful to set the distance between the labels and the chart... :)

Thanks!

Req: minimum of the y-achsis

There should be a way to specify the minimum of the y-achsis for graphs that never have values below a specific minimum. :)

Yvalue的popLabel可不可以增加隐藏和显示功能

您好!您的库蛮好用的,而且架构很清晰。不像其他库,全写在一个文件里,不好整理逻辑,改功能,也没法实现。我也用您的库,改最小值的功能,不是很难。现在用你的库,碰到一个问题,就是Yvalue上popLabel的显示,柱状图还好,用多组的折线图的时候,会遮住其他popLabel,我尝试改成SNChart(关键字可以搜到)中lineChart的显示方式,因为它写法和您的思路不一样,而且是单线显示,我也借鉴不到实际经验,自己动手,搞不懂添加事件时机和逻辑。我才工作半年,水平很菜,希望您能指点一下修改思路(是在ZFLineChart中改,还是在ZFCirle中改),写了这么多,希望您能抽一点时间瞅一眼,不胜感激!!

ZFLineChart放置于cell中,无法显示

chart的dataSource和delegate 是cell.
cell创建的同时跟随着创建chart这个subView,
而此时cell的valueArray还未被赋值.chart调动数据源方法,返回nil,
绘制完图表,cell的valueArray才被赋值,晚了.

这个问题,有没有什么好的解决方案啊?

Req: option to disable animations

Animations are fine, but some users don't like them ... A boolean option to disable / enable all animations would be very helpful. :) Thanks!

放入cocoapod中

大神膜拜一下,项目中正好要用到,什么时候把这个库放到cocoapod中啊?有点强迫症哈。。。

折线图隐藏气泡

您的折线图如何隐藏气泡。并通过点击圆点展现出气泡?是否有更好的方法。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.