Latest 0.0.3
Homepage https://github.com/xumoyan/XMYLineChart
License MIT
Platforms ios 7.0, requires ARC
Authors

XMYLineChart

XMYLineChart是定制化折线图的一个开源项目。项目参考: Boris Emorine
Boris Emorine其实已经写的非常详细,但有些功能没有添加进去。针对这些功能我写了XMYLineChart。虽然说我已经尽力考虑到了一大部分折线图的定制化,但是总还有一些我没有想到的东西。如果你觉得还有哪些需要添加也希望你能够加入这个开源项目。

效果图

XMYLineChart
XMYLineChart
XMYLineChart

CocoaPods

推荐使用pod方式将XMYLineChart添加到你的项目中。

  1. 将XMYLineChart添加到你的Podfile文件 pod 'XMYLineChart', '~> 0.0.1'
  2. 安装pod运行pod install
  3. pod下来以后通过引入#import "XMYLineChart.h" 使用

    部分功能列表

    1.多条折线

    返回折线的数量
    - (NSInteger)numberOfLineGraph:(XMYLineChartView *)graph;

    2.显示点数组

    返回对应折线的数据
    - (NSArray *)lineGraph:(XMYLineChartView *)graph valueForPointAtIndex:(NSInteger)index;

    3.X轴标签展示文字

    返回X轴标签对应点的展示文字
    - (nullable NSString *)lineGraph:(nonnull XMYLineChartView *)graph labelOnXAxisForIndex:(NSInteger)index;

    4.弹出框信息

    弹出框信息前缀:
    - (NSArray *)popUpPrefixForlineGraph:(XMYLineChartView *)graph;
    弹出框信息后缀:
    - (NSArray *)popUpSuffixForlineGraph:(XMYLineChartView *)graph;
    自定义弹框是否展示:
    - (BOOL)lineGraph:(XMYLineChartView *)graph alwaysDisplayPopUpAtIndex:(CGFloat)index
    自定义弹出框:
    - (UIView *)popUpViewForLineGraph:(XMYLineChartView *)graph;
    自定义弹出框根据index值做不通处理:
    - (void)lineGraph:(XMYLineChartView *)graph modifyPopupView:(UIView *)popupView forIndex:(NSUInteger)index;
    注:弹出框前缀、后缀数据以折线数量为单位。

    5.Y轴最大值、最小值

    最大值:
    - (CGFloat)maxValueForLineGraph:(XMYLineChartView *)graph;
    最小值:
    - (CGFloat)minValueForLineGraph:(XMYLineChartView *)graph;

    6.X轴标签展示

    展示模式:
    - (NSInteger)numberOfGapsBetweenLabelsOnLineGraph:(XMYLineChartView *)graph;
    开始位置:
    - (NSInteger)baseIndexForXAxisOnLineGraph:(XMYLineChartView *)graph;
    开始位置实现情况下两个展示点之间间隔了多少个点:
    - (NSInteger)incrementIndexForXAxisOnLineGraph:(XMYLineChartView *)graph;
    自定义X轴展示标签数组:
    - (NSArray *)incrementPositionsForXAxisOnLineGraph:(XMYLineChartView *)graph;
    注:自定义X轴展示标签代理方法优先级更高。

    7.Y轴标签展示

    Y轴标签展示数量:
    - (NSInteger)numberOfYAxisLabelsOnLineGraph:(XMYLineChartView *)graph;
    Y轴标签信息前缀:
    - (NSString *)yAxisPrefixOnLineGraph:(XMYLineChartView *)graph;
    Y轴标签信息后缀:
    - (NSString *)yAxisSuffixOnLineGraph:(XMYLineChartView *)graph;
    自定义Y轴标签从第几个开始:
    - (CGFloat)baseValueForYAxisOnLineGraph:(XMYLineChartView *)graph;
    baseValueForYAxisOnLineGraph实现情况下,两个标签之间间隔了多少个点:
    - (CGFloat)incrementValueForYAxisOnLineGraph:(XMYLineChartView *)graph;

    8.其他属性和代理方法

    其他属性和代理方法的注释都已经在代码中,根据你的实际需求去定制化。

    使用方式

    1.纯代码方式:引入头文件,遵循代理,实现代理方法。
    2.storyboard方式:在user defined runtime attributes中实现属性控制。

    License

    这段代码在遵循MIT license许可条款和条件下发布的。

Latest podspec

{
    "name": "XMYLineChart",
    "version": "0.0.3",
    "summary": "Can be customized line chart",
    "homepage": "https://github.com/xumoyan/XMYLineChart",
    "license": "MIT",
    "authors": {
        "xumoyan": "[email protected]"
    },
    "platforms": {
        "ios": "7.0"
    },
    "requires_arc": true,
    "source": {
        "git": "https://github.com/xumoyan/XMYLineChart.git",
        "tag": "0.0.3"
    },
    "source_files": "XMYLineChart/*.{h,m}"
}

Pin It on Pinterest

Share This