不借助第三方框架,自己手動繪制圖表(曲線圖、折線圖、雙軸曲線圖、柱狀圖、堆積圖、瀑布圖、散點圖、氣泡圖、多柱曲線雙軸圖)
https://github.com/anchoriter/SYChartKit

曲線圖折線圖

雙軸曲線圖折線圖

柱狀圖

堆積圖

散點圖

氣泡圖

多柱曲線雙軸圖
一部分UI自定義屬性
/// 圖表類型
@property (nonatomic, assign) LBTChartType chartType;
/// 圖表縱軸標(biāo)題
@property (nonatomic, copy) NSString *chartYTitle;
/// 圖表右側(cè)縱軸標(biāo)題
@property (nonatomic, copy) NSString *chartRightYTitle;
/// 是否需要處理數(shù)據(jù)單位
@property (nonatomic, assign) BOOL showUnitNum;
/// 是否強(qiáng)制取整
@property (nonatomic, assign) BOOL forceYShowInteger;
/// 限制負(fù)數(shù)為0
@property (nonatomic, assign) BOOL limitMinY;
/// 縱軸行數(shù)(默認(rèn)0)
@property (nonatomic, assign) NSInteger lineNum;
/// 橫縱坐標(biāo)文案字體(默認(rèn)11)
@property (nonatomic, assign) NSInteger textFontSize;
/// 橫坐標(biāo)文本是否必須水平(默認(rèn)NO,放置不開時優(yōu)先傾斜,再傾斜節(jié)選;YES:必須水平,放置不開時節(jié)選)
@property (nonatomic, assign) BOOL xLabelMustFlat;
/// 首位橫坐標(biāo)文本是否需要縮進(jìn)(默認(rèn):NO 和點中心對齊)
@property (nonatomic, assign) BOOL firstXLabelIndent;
/// 橫坐標(biāo)文本水平方向最大寬度(默認(rèn)40,僅在xLabelMustFlat為YES時生效)
@property (nonatomic, assign) CGFloat xLabelFlatMaxWidth;
/// 是否顯示指定日期浮窗
@property (nonatomic, assign) BOOL showTopDateView;
/// 是否顯示浮窗 默認(rèn)NO
@property (nonatomic, assign) BOOL showMarkView;
/// 是否顯示浮窗縱向虛線 默認(rèn)NO
@property (nonatomic, assign) BOOL showMarkLine;
/// 是否初始選中數(shù)據(jù)
@property (nonatomic, assign) BOOL showSelected;
/// 是否顯示mock數(shù)據(jù) 默認(rèn)NO
@property (nonatomic, assign) BOOL showMock;
/// 圖例位置 默認(rèn):None不展示
@property (nonatomic, assign) LBTChartLegendPosition legendPosition;
/// 圖例類型
@property (nonatomic, assign) LBTChartLegendType legendType;
/// 圖例和圖表間距
@property (nonatomic, assign) CGFloat legendChartSpace;
/// 圖例高度 默認(rèn)20
@property (nonatomic, assign) CGFloat legendHeight;
/// 圖例單行列數(shù)(默認(rèn)3)
@property (nonatomic, assign) CGFloat legendColumnNum;
/// 柱子的寬度
@property (nonatomic, assign) CGFloat barWidth;
/// 柱子的最小間距
@property (nonatomic, assign) CGFloat barMinSpace;
/// 柱子顯示整數(shù)
@property (nonatomic, assign) BOOL barShowInteger;
# pragma mark - 間距
/// 內(nèi)容左邊距 (默認(rèn):10)
@property (nonatomic, assign) CGFloat paddingLeft;
/// 內(nèi)容右邊距 (默認(rèn):10)
@property (nonatomic, assign) CGFloat paddingRight;
/// X軸距離底部間距 (默認(rèn):40)
@property (nonatomic, assign) CGFloat bottomMargin;
/// 繪圖區(qū)域距離頂部間距 (默認(rèn):30)
@property (nonatomic, assign) CGFloat topMargin;
/// 開始點和結(jié)束點的縮進(jìn)
@property (nonatomic, assign) CGFloat startPointPadding;