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

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

https://github.com/anchoriter/SYChartKit

曲線圖折線圖

雙軸曲線圖折線圖

柱狀圖

堆積圖

散點(diǎn)圖

氣泡圖
多柱曲線雙軸圖
一部分UI自定義屬性
/// 圖表類(lèi)型
@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,放置不開(kāi)時(shí)優(yōu)先傾斜,再傾斜節(jié)選;YES:必須水平,放置不開(kāi)時(shí)節(jié)選)
@property (nonatomic, assign) BOOL xLabelMustFlat;
/// 首位橫坐標(biāo)文本是否需要縮進(jìn)(默認(rèn):NO  和點(diǎn)中心對(duì)齊)
@property (nonatomic, assign) BOOL firstXLabelIndent;
/// 橫坐標(biāo)文本水平方向最大寬度(默認(rèn)40,僅在xLabelMustFlat為YES時(shí)生效)
@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;
/// 圖例類(lèi)型
@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;
/// 開(kāi)始點(diǎn)和結(jié)束點(diǎn)的縮進(jìn)
@property (nonatomic, assign) CGFloat startPointPadding;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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