Hellocharts多条线一起显示怎么区分 ?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hellocharts多条线一起显示怎么区分 ?相关的知识,希望对你有一定的参考价值。

android 用hellocharts 绘制了多条折线进行数据对比,但多条显示不知道怎么在画布加上文字区分的

参考技术A 为项目需要搞一个折线图,按照日期显示相应的成绩,所以有了本文。
以前用过一次XCL-chart,但是感觉只适合固定图表,不去滑动的那种,因为你一滑动太卡了你懂得(毕竟作者好久没更新优化了),拙言大神我开玩笑的 ,毕竟我加你的群大半年了 - -
第二研究了一下achartenginee图表框架,一不美观,二 achartenginee的可定制性实在不敢恭维,做出来的图表根本不能满足需求
再试了一次网传最好用的MPchart和hellochart同一年出来的,但是要比hellochaet早点。说实话还可以用,定制性强大,简单的表也很容易。
BUT性能一般,我们都知道当使用View时,不流畅或者有卡顿感我直接就想..砸东西了!(要知道小于60fps我是不能容忍的) 但是hellochart在保证美观的同时,缩放+滑动我能给95分以上。,,尤其坐标轴的平滑变化处理我感觉Hellochart简直不能再牛了!容我再夸夸,毕竟深得我心啊~~
总结:如果你需要很多的功能,各种组合,或者显示,对界面没有太大的要求的话就选择MPchart。
如果你需要的是能满足基本的图表功能同时,还要兼顾美观性,流畅性,强烈建议hellochart。
现在HelloCharts支持以下chart类型:
Line chart(cubic lines, filled lines, scattered points)(线图)
Column chart(grouped, stacked, negative values)(柱形图)
Pie chart(饼图)
Bubble chart(泡泡图)
参考技术B 其实自己在图片上层放多个view,每个view对应一条线,view的背景色对应线的颜色,就可以区分出来是哪条线了,如果想要跟明显一点可以加多一个textview在view的旁边说明这种颜色代表说明意思

添加多个 UI 元素并一起约束

【中文标题】添加多个 UI 元素并一起约束【英文标题】:Adding multiple UI Elements and Constrain Together 【发布时间】:2018-10-19 00:22:36 【问题描述】:

我有这样的 UIView 设置

UI 视图 UIScrollView (self.scrollView) UIView (self.contentView) LineChartView (self.chart) M13CheckBox [UIControl 的子集]

图表显示包括多条线,我打算用多个复选框来控制它们。但是,我似乎无法将复选框相互限制!

这是我的代码:

    var unconstrainedChecks = [M13Checkbox]()
    for year in years  // years = ["2015","2016","2017"]
        let checkbox = CustomizedCheckBox().checkbox
        checkbox.backgroundColor = .purple
        self.contentView.addSubview(checkbox)
        unconstrainedChecks.append(checkbox)
    
    for i in 0..<unconstrainedChecks.count - 1 
        print(i)
        let checkbox = unconstrainedChecks[i]
        let nextCheckbox = unconstrainedChecks[i+1]
        checkbox.snp.makeConstraints  (make) in
            if i == 0 
                make.top.equalTo(self.chart.snp.bottom).offset(20)
                make.width.height.equalTo(50)
                make.left.equalTo(self.contentView)
            
            make.bottom.equalTo(nextCheckbox.snp.top)
        

        nextCheckbox.snp.makeConstraints  (make) in
            make.width.height.equalTo(50)
            make.left.equalTo(self.contentView)
            make.top.equalTo(checkbox.snp.bottom)
        

    

CustomizedCheckBox 在哪里

class CustomizedCheckBox 
    let checkbox: M13Checkbox
    init() 
        checkbox = M13Checkbox()
        checkbox.setCheckState(.checked, animated: false)
        checkbox.stateChangeAnimation = .bounce(.fill)
        checkbox.secondaryTintColor =  UIColor(hexString: "47cae8")
        checkbox.secondaryCheckmarkTintColor = .white //checkmark
        checkbox.tintColor = UIColor(hexString: "53cce7")
    

我查看了 View Hierarchal Thing,根本看不到复选框。

【问题讨论】:

【参考方案1】:

我解决了这个问题。我需要将最后一个复选框限制为self.contentView.bottom

将此添加到nextCheckbox 循环中。

            if i + 1 == unconstrainedChecks.count - 1 
                make.bottom.equalTo(self.contentView.snp.bottom)
            

【讨论】:

以上是关于Hellocharts多条线一起显示怎么区分 ?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 d3 折线图中显示多条线?

如何在存在多个组的单个直方图中绘制多条平均线?

离子:如何在多条线上显示离子项?

ArcGIS参考线如何调到需要的位置

如何在 pandas / matplotlib 中绘制多条线

staruml用例图怎么画多条线