HUChart - ios绘制半圆图表


MIT
iOS
Objective-C

软件简介

HUChart是一个简单的(但是是第一个)ios的绘制半圆圈图(半饼图)表的工具。绘制半圆图表是为了在某些情况下,用一个小空间去完成一个完整的圆图。

相关特性:

  • 半圆图表绘制工具就像一个 UIView 的组件. 可以不费一点力气绘制一个定制的半圆图表。
  • 支持 iOS 6.1以上的版本
  • 支持ARC

用法如下:

    // Step 1: Create HUSemiCircleChart object with its desire frame
    CGRect frame = CGRectMake(25, 30, 250, 300);
    HUSemiCircleChart *semiCircleChart = [[HUSemiCircleChart alloc]
                                                            initWithFrame:frame];

    // Step 2: Setup data
    NSMutableArray *data = [NSMutableArray arrayWithObjects:
                                    [[HUChartEntry alloc]initWithName:@"Chrome" value:@54.1],
                                    [[HUChartEntry alloc]initWithName:@"Firefox" value:@27.2],
                                    [[HUChartEntry alloc]initWithName:@"IE" value:@11.7],
                                    [[HUChartEntry alloc]initWithName:@"Safari" value:@3.8],
                                    [[HUChartEntry alloc]initWithName:@"Others" value:@3.2],
                                    nil];
    [semiCircleChart setData:data];

    // Step 3: Setup color (Optional)
    // colors maybe not setup, will be generated automatically
    UIColor * color1 = [UIColor colorWithRed:1.0 green:0.0 blue:0.0 alpha:1.0];
    UIColor * color2 = [UIColor colorWithRed:0.0 green:1.0 blue:0.0 alpha:1.0];
    UIColor * color3 = [UIColor colorWithRed:0.0 green:0.5 blue:0.0 alpha:1.0];
    UIColor * color4 = [UIColor colorWithRed:1.0 green:0.0 blue:1.0 alpha:1.0];
    UIColor * color5 = [UIColor colorWithRed:0.0 green:0.0 blue:1.0 alpha:1.0];

    NSMutableArray *colors = [NSMutableArray arrayWithObjects:  color1, color2,
                                                                color3, color4,
                                                                color5, nil];
    [semiCircleChart setColors:colors];

    // Step 4: Setup Chart Title
    [semiCircleChart setTitle:@"Browser Shared"];

    // Step 5: Determine whether chart element text is shown or not.
    //          SHOW_PORTION_TEXT to show element's name
    //          SHOW_PORTION_VALUE to show element's value
    //          DONT_SHOW_PORTION   to show element without any text
    semiCircleChart.showPortionTextType = SHOW_PORTION_TEXT;