Skip to content

Commit

Permalink
Append the property named symbolStyle for AAChartModel and optimi…
Browse files Browse the repository at this point in the history
…ze the code
  • Loading branch information
AAChartModel committed Oct 28, 2017
1 parent 66e0217 commit 915426f
Show file tree
Hide file tree
Showing 9 changed files with 112 additions and 146 deletions.
1 change: 0 additions & 1 deletion AAChartKit/ChartsDemo/ChartAnimationTypeVC.m
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ - (void)configureTheChartView {
.animationDurationSet(@1500)
.titleSet(@"编程语言热度")
.subtitleSet(@"虚拟数据")
.pointHollowSet(true)
.categoriesSet(@[@"Java",@"Swift",@"Python",@"Ruby", @"PHP",@"Go",@"C",@"C#",@"C++",@"Perl",@"R",@"MATLAB",@"SQL"])
.yAxisTitleSet(@"摄氏度")
.seriesSet(@[
Expand Down
1 change: 0 additions & 1 deletion AAChartKit/ChartsDemo/OnlyRefreshChartDataVC.m
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,6 @@ - (void)setUpTheView {
// .polarSet(true)//是否辐射化图形
.titleSet(@"编程语言热度")
.subtitleSet(@"虚拟数据")
.pointHollowSet(true)
.categoriesSet(@[@"Java",@"Swift",@"Python",@"Ruby", @"PHP",@"Go",@"C",@"C#",@"C++",@"Perl",@"R",@"MATLAB",@"SQL"])
.yAxisTitleSet(@"摄氏度")
.seriesSet(@[
Expand Down
48 changes: 27 additions & 21 deletions AAChartKit/ChartsDemo/SecondViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@

@interface SecondViewController ()<AAChartViewDidFinishLoadDelegate>

@property (nonatomic, strong) AAChartModel *chartModel;
@property (nonatomic, strong) AAChartView *chartView;
@property (nonatomic, strong) AAChartModel *aaChartModel;
@property (nonatomic, strong) AAChartView *aaChartView;

@end

Expand Down Expand Up @@ -61,21 +61,19 @@ - (void)viewDidLoad {

- (void)configTheChartView:(AAChartType)chartType {

self.chartView = [[AAChartView alloc]initWithFrame:CGRectMake(0, 60, self.view.frame.size.width, self.view.frame.size.height-220)];
self.chartView.delegate = self;
self.chartView.contentHeight = self.view.frame.size.height-250;
[self.view addSubview:self.chartView];
self.aaChartView = [[AAChartView alloc]initWithFrame:CGRectMake(0, 60, self.view.frame.size.width, self.view.frame.size.height-220)];
self.aaChartView.delegate = self;
self.aaChartView.contentHeight = self.view.frame.size.height-250;
[self.view addSubview:self.aaChartView];

//设置 AAChartView 的背景色是否为透明(解开注释查看设置背景色透明后的效果)
// self.chartView.isClearBackgroundColor = YES;
// self.aaChartView.isClearBackgroundColor = YES;
// self.view.backgroundColor = [UIColor blueColor];


self.chartModel= AAObject(AAChartModel)
self.aaChartModel= AAObject(AAChartModel)
.chartTypeSet(chartType)
.titleSet(@"编程语言热度")
.subtitleSet(@"虚拟数据")
.pointHollowSet(true)
.categoriesSet(@[@"Java",@"Swift",@"Python",@"Ruby", @"PHP",@"Go",@"C",@"C#",@"C++",@"Perl",@"R",@"MATLAB",@"SQL"])
.yAxisTitleSet(@"摄氏度")
.seriesSet(@[
Expand Down Expand Up @@ -134,10 +132,18 @@ - (void)configTheChartView:(AAChartType)chartType {
// .yTickPositionsSet(@[@(0),@(25),@(50),@(75),@(100)])
;

if ([chartType isEqualToString:AAChartTypeLine]
|| [chartType isEqualToString:AAChartTypeSpline]) {
_aaChartModel.symbolStyle = AAChartSymbolStyleTypeBorderBlank;//设置折线连接点样式为:边缘白色
} else if ([chartType isEqualToString:AAChartTypeArea]
|| [chartType isEqualToString:AAChartTypeAreaspline]) {
_aaChartModel.symbolStyle = AAChartSymbolStyleTypeInnerBlank;//设置折线连接点样式为:内部白色
}

//是否起用渐变色功能
_chartModel.gradientColorEnable = YES;
_aaChartModel.gradientColorEnable = YES;

[self.chartView aa_drawChartWithChartModel:_chartModel];
[self.aaChartView aa_drawChartWithChartModel:_aaChartModel];
}

#pragma mark -- AAChartView delegate
Expand Down Expand Up @@ -176,7 +182,7 @@ - (void)customsegmentedControlCellValueBeChanged:(UISegmentedControl *)segmented
NSArray *stackingArr = @[AAChartStackingTypeFalse,
AAChartStackingTypeNormal,
AAChartStackingTypePercent];
self.chartModel.stacking = stackingArr[segmentedControl.selectedSegmentIndex];
self.aaChartModel.stacking = stackingArr[segmentedControl.selectedSegmentIndex];
}
break;

Expand All @@ -186,7 +192,7 @@ - (void)customsegmentedControlCellValueBeChanged:(UISegmentedControl *)segmented
AAChartSymbolTypeDiamond,
AAChartSymbolTypeTriangle,
AAChartSymbolTypeTriangle_down];
self.chartModel.symbol = symbolArr[segmentedControl.selectedSegmentIndex];
self.aaChartModel.symbol = symbolArr[segmentedControl.selectedSegmentIndex];
}
break;

Expand All @@ -198,7 +204,7 @@ - (void)customsegmentedControlCellValueBeChanged:(UISegmentedControl *)segmented
}

- (void)refreshTheChartView {
[self.chartView aa_refreshChartWithChartModel:self.chartModel];
[self.aaChartView aa_refreshChartWithChartModel:self.aaChartModel];
}

- (void)configTheSwitch {
Expand Down Expand Up @@ -227,22 +233,22 @@ - (void)configTheSwitch {
- (void)switchViewClicked:(UISwitch *)switchView {
switch (switchView.tag) {
case 0:
self.chartModel.xAxisReversed = switchView.on;
self.aaChartModel.xAxisReversed = switchView.on;
break;
case 1:
self.chartModel.yAxisReversed = switchView.on;
self.aaChartModel.yAxisReversed = switchView.on;
break;
case 2:
self.chartModel.inverted = switchView.on;
self.aaChartModel.inverted = switchView.on;
break;
case 3:
self.chartModel.polar = switchView.on;
self.aaChartModel.polar = switchView.on;
break;
case 4:
self.chartModel.markerRadius = switchView.on?@0:@5;
self.aaChartModel.markerRadius = switchView.on?@0:@5;
break;
case 5:
self.chartModel.dataLabelEnabled = switchView.on;
self.aaChartModel.dataLabelEnabled = switchView.on;
break;
default:
break;
Expand Down
51 changes: 25 additions & 26 deletions AAChartKit/ChartsDemo/SpecialChartVC.m
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@

@interface SpecialChartVC ()

@property (nonatomic, strong) AAChartModel *chartModel;
@property (nonatomic, strong) AAChartView *chartView;
@property (nonatomic, strong) AAChartModel *aaChartModel;
@property (nonatomic, strong) AAChartView *aaChartView;

@end

Expand Down Expand Up @@ -64,14 +64,14 @@ - (void)viewDidLoad {

- (void)configureTheChartView:(AAChartType)chartType {

self.chartView = [[AAChartView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
self.aaChartView = [[AAChartView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
self.view.backgroundColor = [UIColor whiteColor];
self.chartView.contentHeight = self.view.frame.size.height-60;
[self.view addSubview:self.chartView];
self.aaChartView.contentHeight = self.view.frame.size.height-60;
[self.view addSubview:self.aaChartView];

self.chartModel = [self configureTheChartModel:chartType];
self.aaChartModel = [self configureTheChartModel:chartType];

[self.chartView aa_drawChartWithChartModel:_chartModel];
[self.aaChartView aa_drawChartWithChartModel:_aaChartModel];
}

- (AAChartModel *)configureTheChartModel:(NSString *)chartType {
Expand All @@ -96,21 +96,20 @@ - (AAChartModel *)configureTheChartModel:(NSString *)chartType {

];

AAChartModel *chartModel= AAObject(AAChartModel)
AAChartModel *aaChartModel= AAObject(AAChartModel)
// .connectNullsSet(true)//设置折线是否断点重连
.chartTypeSet(chartType)
.titleSet(@"编程语言热度")
.subtitleSet(@"虚拟数据")
.pointHollowSet(true)
.categoriesSet(@[@"Java",@"Swift",@"Python",@"Ruby", @"PHP",@"Go",@"C",@"C#",@"C++",@"Perl",@"R",@"MATLAB",@"SQL"])
.yAxisTitleSet(@"摄氏度")
.seriesSet(seriesArr);

return chartModel;
return aaChartModel;

} else if ([chartType isEqualToString:AAChartTypePie]) {

AAChartModel *chartModel= AAObject(AAChartModel)
AAChartModel *aaChartModel= AAObject(AAChartModel)
.chartTypeSet(AAChartTypePie)
.colorsThemeSet(@[@"#0c9674",@"#7dffc0",@"#d11b5f",@"#facd32",@"#ffffa0"])
.titleSet(@"编程语言热度")
Expand Down Expand Up @@ -138,11 +137,11 @@ - (AAChartModel *)configureTheChartModel:(NSString *)chartType {
)
;

return chartModel;
return aaChartModel;

} else if ([chartType isEqualToString:AAChartTypeBubble]) {

AAChartModel *chartModel= AAObject(AAChartModel)
AAChartModel *aaChartModel= AAObject(AAChartModel)
.chartTypeSet(AAChartTypeBubble)
.titleSet(@"编程语言热度")
.subtitleSet(@"虚拟数据")
Expand Down Expand Up @@ -200,11 +199,11 @@ - (AAChartModel *)configureTheChartModel:(NSString *)chartType {
)
;

return chartModel;
return aaChartModel;

} else if ([chartType isEqualToString:AAChartTypeScatter]) {

AAChartModel *chartModel= AAObject(AAChartModel)
AAChartModel *aaChartModel= AAObject(AAChartModel)
.chartTypeSet(AAChartTypeScatter)
.titleSet(@"按性别划分的身高体重分布图")
.yAxisTitleSet(@"千克(kg)")
Expand Down Expand Up @@ -326,11 +325,11 @@ - (AAChartModel *)configureTheChartModel:(NSString *)chartType {
)
;

return chartModel;
return aaChartModel;

} else if ([chartType isEqualToString:AAChartTypePyramid]) {

AAChartModel *chartModel= AAObject(AAChartModel)
AAChartModel *aaChartModel= AAObject(AAChartModel)
.chartTypeSet(AAChartTypePyramid)
.titleSet(@"编程语言热度")
.subtitleSet(@"虚拟数据")
Expand All @@ -350,11 +349,11 @@ - (AAChartModel *)configureTheChartModel:(NSString *)chartType {
)
;

return chartModel;
return aaChartModel;

} else if ([chartType isEqualToString:AAChartTypeFunnel]) {

AAChartModel *chartModel= AAObject(AAChartModel)
AAChartModel *aaChartModel= AAObject(AAChartModel)
.chartTypeSet(AAChartTypeFunnel)
.titleSet(@"编程语言热度")
.subtitleSet(@"虚拟数据")
Expand All @@ -374,11 +373,11 @@ - (AAChartModel *)configureTheChartModel:(NSString *)chartType {
)
;

return chartModel;
return aaChartModel;

} else if ([chartType isEqualToString:AAChartTypeArearange]) {

AAChartModel *chartModel = AAObject(AAChartModel)
AAChartModel *aaChartModel = AAObject(AAChartModel)
.titleSet(@"黄昏别馆日气温起伏图")
.subtitleSet(@"实时监测")
.yAxisTitleSet(@"摄氏度")
Expand Down Expand Up @@ -769,11 +768,11 @@ - (AAChartModel *)configureTheChartModel:(NSString *)chartType {
]
);

return chartModel;
return aaChartModel;

} else if ([chartType isEqualToString:AAChartTypeColumnrange]) {

AAChartModel *chartModel= AAObject(AAChartModel)
AAChartModel *aaChartModel= AAObject(AAChartModel)
.titleSet(@"金银岛每月温度变化范围")
.subtitleSet(@"2020年实测数据")
.yAxisTitleSet(@"")
Expand Down Expand Up @@ -802,11 +801,11 @@ - (AAChartModel *)configureTheChartModel:(NSString *)chartType {
)
;

return chartModel;
return aaChartModel;

} else if ([chartType isEqualToString:@"mixed"]) {

AAChartModel *chartModel= AAObject(AAChartModel)
AAChartModel *aaChartModel= AAObject(AAChartModel)
.titleSet(@"城市气温指数")
.subtitleSet(@"虚拟数据")
.yAxisTitleSet(@"摄氏度")
Expand Down Expand Up @@ -854,7 +853,7 @@ - (AAChartModel *)configureTheChartModel:(NSString *)chartType {
)
;

return chartModel;
return aaChartModel;

}
return nil;
Expand Down
51 changes: 19 additions & 32 deletions AAChartKitLib/AAChartConfiger/AAChartModel.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#import "AASeriesElement.h"
#import "AAPlotLinesElement.h"

typedef NS_ENUM(NSInteger,AAChartAnimationType){
typedef NS_ENUM(NSInteger,AAChartAnimationType) {
AAChartAnimationTypeLinear = 0,
AAChartAnimationTypeSwing,
AAChartAnimationTypeEaseInQuad,
Expand Down Expand Up @@ -51,9 +51,8 @@ typedef NSString *AAChartSubtitleAlignType;
typedef NSString *AAChartZoomType;
typedef NSString *AAChartStackingType;
typedef NSString *AAChartSymbolType;
typedef NSString *AAChartLegendLayoutType;
typedef NSString *AAChartLegendAlignType;
typedef NSString *AAChartLegendVerticalAlignType;
typedef NSString *AAChartSymbolStyleType;


static AAChartType const AAChartTypeColumn = @"column";
static AAChartType const AAChartTypeBar = @"bar";
Expand All @@ -73,32 +72,23 @@ static AAChartSubtitleAlignType const AAChartSubtitleAlignTypeLeft = @"left";
static AAChartSubtitleAlignType const AAChartSubtitleAlignTypeCenter = @"center";
static AAChartSubtitleAlignType const AAChartSubtitleAlignTypeRight = @"right";

static AAChartZoomType const AAChartZoomTypeX = @"x";
static AAChartZoomType const AAChartZoomTypeY = @"y";
static AAChartZoomType const AAChartZoomTypeXY = @"xy";

static AAChartZoomType const AAChartZoomTypeX = @"x";
static AAChartZoomType const AAChartZoomTypeY = @"y";
static AAChartZoomType const AAChartZoomTypeXY = @"xy";

static AAChartStackingType const AAChartStackingTypeFalse = @"";
static AAChartStackingType const AAChartStackingTypeNormal = @"normal";
static AAChartStackingType const AAChartStackingTypePercent = @"percent";

static AAChartSymbolType const AAChartSymbolTypeCircle = @"circle";
static AAChartSymbolType const AAChartSymbolTypeSquare = @"square";
static AAChartSymbolType const AAChartSymbolTypeDiamond = @"diamond";
static AAChartSymbolType const AAChartSymbolTypeTriangle = @"triangle";
static AAChartSymbolType const AAChartSymbolTypeTriangle_down = @"triangle-down";

static AAChartLegendLayoutType const AAChartLegendLayoutTypeHorizontal = @"horizontal";
static AAChartLegendLayoutType const AAChartLegendLayoutTypeVertical = @"vertical";
static AAChartStackingType const AAChartStackingTypeFalse = @"";
static AAChartStackingType const AAChartStackingTypeNormal = @"normal";
static AAChartStackingType const AAChartStackingTypePercent = @"percent";

static AAChartLegendAlignType const AAChartLegendAlignTypeLeft = @"left";
static AAChartLegendAlignType const AAChartLegendAlignTypeCenter = @"center";
static AAChartLegendAlignType const AAChartLegendAlignTypeRight = @"right";

static AAChartLegendVerticalAlignType const AAChartLegendVerticalAlignTypeTop = @"top";
static AAChartLegendVerticalAlignType const AAChartLegendVerticalAlignTypeMiddle = @"middle";
static AAChartLegendVerticalAlignType const AAChartLegendVerticalAlignTypeBottom = @"bottom";
static AAChartSymbolType const AAChartSymbolTypeCircle = @"circle";
static AAChartSymbolType const AAChartSymbolTypeSquare = @"square";
static AAChartSymbolType const AAChartSymbolTypeDiamond = @"diamond";
static AAChartSymbolType const AAChartSymbolTypeTriangle = @"triangle";
static AAChartSymbolType const AAChartSymbolTypeTriangle_down = @"triangle-down";

static AAChartSymbolStyleType const AAChartSymbolStyleTypeDefault = @"default";
static AAChartSymbolStyleType const AAChartSymbolStyleTypeInnerBlank = @"innerBlank";
static AAChartSymbolStyleType const AAChartSymbolStyleTypeBorderBlank = @"borderBlank";

@interface AAChartModel : NSObject
AAPropStatementAndFuncStatement(copy, AAChartModel, NSString *, title);//标题内容
Expand All @@ -108,11 +98,12 @@ AAPropStatementAndFuncStatement(copy, AAChartModel, AAChartSubtitleAlignType,
AAPropStatementAndFuncStatement(copy, AAChartModel, AAChartType, chartType);//图表类型
AAPropStatementAndFuncStatement(copy, AAChartModel, AAChartStackingType, stacking);//堆积样式
AAPropStatementAndFuncStatement(copy, AAChartModel, AAChartSymbolType, symbol);//折线曲线连接点的类型:"circle", "square", "diamond", "triangle","triangle-down",默认是"circle"
AAPropStatementAndFuncStatement(assign, AAChartModel, AAChartSymbolStyleType, symbolStyle);

AAPropStatementAndFuncStatement(copy, AAChartModel, AAChartZoomType, zoomType);//缩放类型 AAChartZoomTypeX 表示可沿着 x 轴进行手势缩放
AAPropStatementAndFuncStatement(assign, AAChartModel, AAChartAnimationType, animationType);//设置图表的渲染动画类型

AAPropStatementAndFuncStatement(strong, AAChartModel, NSNumber *, animationDuration);//设置图表的渲染动画时长
AAPropStatementAndFuncStatement(assign, AAChartModel, BOOL, pointHollow);//折线曲线的连接点是否为空心的
AAPropStatementAndFuncStatement(assign, AAChartModel, BOOL, inverted);//x 轴是否垂直
AAPropStatementAndFuncStatement(assign, AAChartModel, BOOL, xAxisReversed);// x 轴翻转
AAPropStatementAndFuncStatement(assign, AAChartModel, BOOL, yAxisReversed);//y 轴翻转
Expand All @@ -132,10 +123,6 @@ AAPropStatementAndFuncStatement(strong, AAChartModel, NSArray *, series);
AAPropStatementAndFuncStatement(assign, AAChartModel, BOOL, connectNulls);//设置折线是否断点重连(是否连接空值点)
AAPropStatementAndFuncStatement(assign, AAChartModel, BOOL, legendEnabled);//是否显示图例 lengend(图表底部可点按的圆点和文字)

AAPropStatementAndFuncStatement(copy, AAChartModel, AAChartLegendLayoutType, legendLayout);//图例数据项的布局。布局类型: "horizontal" 或 "vertical" 即水平布局和垂直布局 默认是:horizontal.
AAPropStatementAndFuncStatement(copy, AAChartModel, AAChartLegendAlignType, legendAlign);//设定图例在图表区中的水平对齐方式,合法值有left,center 和 right。
AAPropStatementAndFuncStatement(copy, AAChartModel, AAChartLegendVerticalAlignType, legendVerticalAlign);//设定图例在图表区中的垂直对齐方式,合法值有 top,middle 和 bottom。垂直位置可以通过 y 选项做进一步设定。

AAPropStatementAndFuncStatement(copy, AAChartModel, NSString *, backgroundColor);//图表背景色(必须为十六进制的颜色色值如红色"#FF0000")
AAPropStatementAndFuncStatement(assign, AAChartModel, BOOL, options3dEnable);//是否 3D 化图形(仅对条形图,柱状图有效)
AAPropStatementAndFuncStatement(strong, AAChartModel, NSNumber *, options3dAlpha);
Expand Down
Loading

0 comments on commit 915426f

Please sign in to comment.