色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

您好,歡迎來電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>通訊/手機(jī)編程>

charts框架繪制餅狀圖教程

大小:0.3 MB 人氣: 2017-09-26 需要積分:1

  一、創(chuàng)建餅狀圖對象

  創(chuàng)建餅狀圖對象用到類是PieChartView.h, 代碼如下:

  self.pieChartView = [[PieChartView alloc] init];

  self.pieChartView.backgroundColor = BgColor;

 ?。踫elf.view addSubview:self.pieChartView];

 ?。踫elf.pieChartView mas_makeConstraints:^(MASConstraintMaker *make) {

  make.size.mas_equalTo(CGSizeMake(300, 300));

  make.center.mas_equalTo(self.view);

  }];

  二、設(shè)置餅狀圖外觀樣式

  1. 基本樣式

  [self.pieChartView setExtraOffsetsWithLeft:30 top:0 right:30 bottom:0];//餅狀圖距離邊緣的間隙

  self.pieChartView.usePercentValuesEnabled = YES;//是否根據(jù)所提供的數(shù)據(jù), 將顯示數(shù)據(jù)轉(zhuǎn)換為百分比格式

  self.pieChartView.dragDecelerationEnabled = YES;//拖拽餅狀圖后是否有慣性效果

  self.pieChartView.drawSliceTextEnabled = YES;//是否顯示區(qū)塊文本

  2. 設(shè)置餅狀圖中間的空心樣式

  空心有兩個圓組成, 一個是hole, 一個是transparentCircle, transparentCircle里面是hole, 所以餅狀圖中間的空心也就是一個同心圓。 代碼如下:

  self.pieChartView.drawHoleEnabled = YES;//餅狀圖是否是空心

  self.pieChartView.holeRadiusPercent = 0.5;//空心半徑占比

  self.pieChartView.holeColor = [UIColor clearColor];//空心顏色

  self.pieChartView.transparentCircleRadiusPercent = 0.52;//半透明空心半徑占比

  self.pieChartView.transparentCircleColor = [UIColor colorWithRed:210/255.0 green:145/255.0 blue:165/255.0 alpha:0.3];//半透明空心的顏色

  3. 設(shè)置餅狀圖中心的文本

  當(dāng)餅狀圖是空心樣式時, 可以在餅狀圖中心添加文本, 添加文本有兩種方法。 一種方法是使用centerText 屬性添加, 這種方法不能設(shè)置字體顏色、大小等。 另一種方法是使用centerAttributedText屬性添加, 這種方法添加的富文本, 因此就可以對字體進(jìn)行進(jìn)一步美化了。 代碼如下:

  if (self.pieChartView.isDrawHoleEnabled == YES) {

  self.pieChartView.drawCenterTextEnabled = YES;//是否顯示中間文字

  //普通文本

  // self.pieChartView.centerText = @“餅狀圖”;//中間文字

  //富文本

  NSMutableAttributedString *centerText = [[NSMutableAttributedString alloc] initWithString:@“餅狀圖”];

  [centerText setAttributes:@{NSFontAttributeName: [UIFont boldSystemFontOfSize:16],

  NSForegroundColorAttributeName: [UIColor orangeColor]}

  range:NSMakeRange(0, centerText.length)];

  self.pieChartView.centerAttributedText = centerText;

  }

  4. 設(shè)置餅狀圖描述

  self.pieChartView.deionText = @“餅狀圖示例”;

  self.pieChartView.deionFont = [UIFont systemFontOfSize:10];

  self.pieChartView.deionTextColor = [UIColor grayColor];

  5. 設(shè)置餅狀圖圖例樣式

  self.pieChartView.legend.maxSizePercent = 1;//圖例在餅狀圖中的大小占比, 這會影響圖例的寬高

  self.pieChartView.legend.formToTextSpace = 5;//文本間隔

  self.pieChartView.legend.font = [UIFont systemFontOfSize:10];//字體大小

  self.pieChartView.legend.textColor = [UIColor grayColor];//字體顏色

  self.pieChartView.legend.position = ChartLegendPositionBelowChartCenter;//圖例在餅狀圖中的位置

  self.pieChartView.legend.form = ChartLegendFormCircle;//圖示樣式: 方形、線條、圓形

  self.pieChartView.legend.formSize = 12;//圖示大小

  三、為餅狀圖提供數(shù)據(jù)

  為餅狀圖提供數(shù)據(jù), 首先需要創(chuàng)建兩個數(shù)組yVals和xVals, yVals數(shù)組存放餅狀圖每個區(qū)塊的數(shù)據(jù), xVals存放的是每個區(qū)塊的名稱或者描述。

  接著需要用PieChartDataSet.h類創(chuàng)建dataSet對象, 創(chuàng)建時將yVals放進(jìn)去。

  然后需要用PieChartData.h類創(chuàng)建data對象, 創(chuàng)建時將xVals和dataSet對象放進(jìn)去。

  最后直接把data對象賦值給餅狀圖的data屬性即可。 創(chuàng)建data對象代碼如下:

  - (PieChartData *)setData{

  double mult = 100;

  int count = 5;//餅狀圖總共有幾塊組成

  //每個區(qū)塊的數(shù)據(jù)

  NSMutableArray *yVals = [[NSMutableArray alloc] init];

  for (int i = 0; i 《 count; i++) {

  double randomVal = arc4random_uniform(mult + 1);

  BarChartDataEntry *entry = [[BarChartDataEntry alloc] initWithValue:randomVal xIndex:i];

 ?。踶Vals addObject:entry];

  }

  //每個區(qū)塊的名稱或描述

  NSMutableArray *xVals = [[NSMutableArray alloc] init];

  for (int i = 0; i 《 count; i++) {

  NSString *title = [NSString stringWithFormat:@“part%d”, i+1];

 ?。踴Vals addObject:title];

  }

  //dataSet

  PieChartDataSet *dataSet = [[PieChartDataSet alloc] initWithYVals:yVals label:@“”];

  dataSet.drawValuesEnabled = YES;//是否繪制顯示數(shù)據(jù)

  NSMutableArray *colors = [[NSMutableArray alloc] init];

 ?。踓olors addObjectsFromArray:ChartColorTemplates.vordiplom];

 ?。踓olors addObjectsFromArray:ChartColorTemplates.joyful];

 ?。踓olors addObjectsFromArray:ChartColorTemplates.colorful];

 ?。踓olors addObjectsFromArray:ChartColorTemplates.liberty];

 ?。踓olors addObjectsFromArray:ChartColorTemplates.pastel];

  [colors addObject:[UIColor colorWithRed:51/255.f green:181/255.f blue:229/255.f alpha:1.f]];

  dataSet.colors = colors;//區(qū)塊顏色

  dataSet.sliceSpace = 0;//相鄰區(qū)塊之間的間距

  dataSet.selectionShift = 8;//選中區(qū)塊時, 放大的半徑

  dataSet.xValuePosition = PieChartValuePositionInsideSlice;//名稱位置

  dataSet.yValuePosition = PieChartValuePositionOutsideSlice;//數(shù)據(jù)位置

  //數(shù)據(jù)與區(qū)塊之間的用于指示的折線樣式

  dataSet.valueLinePart1OffsetPercentage = 0.85;//折線中第一段起始位置相對于區(qū)塊的偏移量, 數(shù)值越大, 折線距離區(qū)塊越遠(yuǎn)

  dataSet.valueLinePart1Length = 0.5;//折線中第一段長度占比

  dataSet.valueLinePart2Length = 0.4;//折線中第二段長度最大占比

  dataSet.valueLineWidth = 1;//折線的粗細(xì)

  dataSet.valueLineColor = [UIColor brownColor];//折線顏色

  //data

  PieChartData *data = [[PieChartData alloc] initWithXVals:xVals dataSet:dataSet];

  NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];

  formatter.numberStyle = NSNumberFormatterPercentStyle;

  formatter.maximumFractionDigits = 0;//小數(shù)位數(shù)

  formatter.multiplier = @1.f;

 ?。踕ata setValueFormatter:formatter];//設(shè)置顯示數(shù)據(jù)格式

 ?。踕ata setValueTextColor:[UIColor brownColor]];

 ?。踕ata setValueFont:[UIFont systemFontOfSize:10]];

  return data;

  }

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

      發(fā)表評論

      用戶評論
      評價:好評中評差評

      發(fā)表評論,獲取積分! 請遵守相關(guān)規(guī)定!

      ?
      主站蜘蛛池模板: 青青草原亚洲 | 狠狠鲁快播 | 亚洲天码中字 | 三级全黄的视频 | 嫩小幼处在线 | 草699一码二码三码四码 | 床伴在线观看免费高清完整泰剧第四集 | 亚洲成年人在线观看 | 狠狠色狠狠色88综合日日91 | 五月丁香啪啪. | 99精品网站 | 久久黄色网址 | 亚洲人成7777 | 亚洲AV天堂无码麻豆电影 | 美女PK精子小游戏 | 日本高清免费一本在线观看 | 亚洲色欲色欲www474ee | 国产网址在线观看 | 国产麻豆福利AV在线观看 | MD传媒在线观看佳片 | 乌克兰18性hd | 成人在线视频在线观看 | 国产野外无码理论片在线观看 | 久久精品动漫网一区二区 | 亚洲熟妇无码乱子AV电影 | YELLOW在线观看高清视频免费 | 亚洲黄视频在线观看 | 超级碰碰青草久热国产 | 国产精品久久久久久久AV下载 | 亚洲欧美精品一中文字幕 | 亚洲精品高清视频 | a视频在线看 | 中文在线无码高潮潮喷在线 | 棉签和冰块怎么弄出牛奶视频 | 精品国产露脸久久AV麻豆 | 杨幂视频在线观看1分30秒 | 最近中文字幕完整版高清 | 免费鲁丝片一级在线观看 | 久久亚洲精品无码A片大香大香 | 美女扒开腿让男生桶免费看动态图 | 三级网址在线观看 |