iOS自己手動繪制圖表(曲線圖、折線圖、雙軸曲線圖、柱狀圖、堆積圖、瀑布圖、散點圖、氣泡圖、多柱曲線雙軸圖)

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

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;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容