草庐IT

swift - 折线图填充颜色褪色

coder 2023-09-08 原文

我正在尝试设置一个具有一种填充颜色的折线图,但由于某种原因,填充颜色变淡了。

例子

我添加到屏幕中间的随机 View 和折线图的填充颜色都设置为红色,但由于某种原因,图表的填充颜色变淡了。

可以在这里看到代码

@IBOutlet var liveChart : LineChartView!
    override func viewDidLoad() {
        super.viewDidLoad()

        self.title = "Chart Tests"

        configureChart(chart: liveChart)

        var xAxis = [String]()
        var yAxis = [Double]()
        for _ in 0..<10
        {
            xAxis.append("")
            let yVal = Double(randomBetweenNumbers(firstNum: 1.0, secondNum: 100.0))
            yAxis.append(yVal)
        }
        setData(xAxisArray: xAxis, yAxisArray: yAxis, chart: liveChart)

        let testView = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 100))
        testView.center = view.center
        testView.backgroundColor = UIColor.red
        view.addSubview(testView)
    }

    func randomBetweenNumbers(firstNum: CGFloat, secondNum: CGFloat) -> CGFloat{
        return CGFloat(arc4random()) / CGFloat(UINT32_MAX) * abs(firstNum - secondNum) + min(firstNum, secondNum)
    }

    func configureChart(chart : LineChartView)
    {
        chart.chartDescription?.text = ""
        chart.noDataText = "Loading Data"
        chart.backgroundColor = UIColor.clear

        chart.drawGridBackgroundEnabled = false
        chart.dragEnabled = true
        chart.rightAxis.enabled = false
        chart.leftAxis.enabled = true
        chart.doubleTapToZoomEnabled = false
        chart.legend.enabled = false
        chart.pinchZoomEnabled = true
        chart.highlightPerTapEnabled = false
        chart.highlightPerDragEnabled = false

        chart.xAxis.enabled = false
        chart.leftAxis.drawAxisLineEnabled = false
        chart.leftAxis.drawGridLinesEnabled = false
        chart.leftAxis.labelCount = 5
        chart.leftAxis.forceLabelsEnabled = true
    }

    func setData(xAxisArray : [String], yAxisArray : [Double], chart : LineChartView)
    {
        var yVals1 : [ChartDataEntry] = [ChartDataEntry]()
        if(xAxisArray.count > 0)
        {
            for i in 0 ..< xAxisArray.count
            {
                let chartEntry = ChartDataEntry(x: Double(i), y: yAxisArray[i], data: nil)
                yVals1.append(chartEntry)
            }
        }
        let set1: LineChartDataSet = LineChartDataSet(values: yVals1, label: "")
        set1.fillColor = UIColor.red
        set1.drawFilledEnabled = true
        set1.drawCirclesEnabled = false

        let data = LineChartData()
        data.addDataSet(set1)

        liveChart.data = data
    }

有办法解决这个问题吗?或者这只是图表填充颜色的工作方式?

编辑:

我正在使用

https://github.com/danielgindi/Charts

最佳答案

我假设你使用这个库:https://github.com/kevinbrewster/SwiftCharts

<罢工>

因此 LineChartView 自动为填充颜色设置 alpha:https://github.com/kevinbrewster/SwiftCharts/blob/master/SwiftCharts/LineChart.swift#L758

尝试设置数据集的fillAlpha属性

关于swift - 折线图填充颜色褪色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45633368/

有关swift - 折线图填充颜色褪色的更多相关文章

  1. ruby - 什么是填充的 Base64 编码字符串以及如何在 ruby​​ 中生成它们? - 2

    我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%

  2. ruby - 在没有 sass 引擎的情况下使用 sass 颜色函数 - 2

    我想在一个没有Sass引擎的类中使用Sass颜色函数。我已经在项目中使用了sassgem,所以我认为搭载会像以下一样简单:classRectangleincludeSass::Script::FunctionsdefcolorSass::Script::Color.new([0x82,0x39,0x06])enddefrender#hamlengineexecutedwithcontextofself#sothatwithintemlateicouldcall#%stop{offset:'0%',stop:{color:lighten(color)}}endend更新:参见上面的#re

  3. ruby - 匹配大写字母并用后续字母填充,直到一定的字符串长度 - 2

    我有一个驼峰式字符串,例如:JustAString。我想按照以下规则形成长度为4的字符串:抓取所有大写字母;如果超过4个大写字母,只保留前4个;如果少于4个大写字母,则将最后大写字母后的字母大写并添加字母,直到长度变为4。以下是可能发生的3种情况:ThisIsMyString将产生TIMS(大写字母);ThisIsOneVeryLongString将产生TIOV(前4个大写字母);MyString将生成MSTR(大写字母+tr大写)。我设法用这个片段解决了前两种情况:str.scan(/[A-Z]/).first(4).join但是,我不太确定如何最好地修改上面的代码片段以处理最后一种

  4. ruby 诅咒颜色 - 2

    如何使用Ruby的默认Curses库获取颜色?所以像这样:puts"\e[0m\e[30;47mtest\e[0m"效果很好。在浅灰色背景上呈现漂亮的黑色。但是这个:#!/usr/bin/envrubyrequire'curses'Curses.noecho#donotshowtypedkeysCurses.init_screenCurses.stdscr.keypad(true)#enablearrowkeys(forpageup/down)Curses.stdscr.nodelay=1Curses.clearCurses.setpos(0,0)Curses.addstr"Hello

  5. ruby - Rails 3 的 RGB 颜色选择器 - 2

    状态:我正在构建一个应用程序,其中需要一个可供用户选择颜色的字段,该字段将包含RGB颜色代码字符串。我已经测试了一个看起来很漂亮但效果不佳的。它是“挑剔的颜色”,并托管在此存储库中:https://github.com/Astorsoft/picky-color.在这里我打开一个关于它的一些问题的问题。问题:请建议我在Rails3应用程序中使用一些颜色选择器。 最佳答案 也许页面上的列表jQueryUIDevelopment:ColorPicker为您提供开箱即用的产品。原因是jQuery现在包含在Rails3应用程序中,因此使用基

  6. ruby - 如何用递增的值填充数组 Ruby - 2

    我正在尝试解决http://projecteuler.net/problem=1.我想创建一个方法,它接受一个整数,然后创建一个包含它前面的所有整数的数组,并将整数本身作为数组中的值。以下是我目前所拥有的。代码不起作用。defmake_array(num)numbers=Array.newnumcount=1numbers.eachdo|number|numbers 最佳答案 (1..num).to_a是您在Ruby中需要做的全部。1..num将创建一个Range对象,以1开始并以任意值num结束是。Range对象有to_a方法通过

  7. ruby-on-rails - RoR中是否有任何内置方法可以为整数填充零? - 2

    如果我想要“00001”而不是“1”,除了我自己写填零方法之外,有没有内置的方法可以帮助我为整数填零? 最佳答案 puts"%05d"%1#00001参见:String::%,Kernel::sprintf这是正在发生的事情。%左侧的"%05d"是C风格的格式说明符。%右边的变量就是要格式化的东西。格式说明符可以像这样解码:%-格式说明符的开头0-用前导零填充5-长度为5个字符d-被格式化的是一个整数如果你要格式化多个东西,你会把它们放在一个数组中:"%d-%s"%[1,"One"]#=>1-one

  8. ruby - 如何使用 Ruby 基于字母数字字符串生成颜色? - 2

    我想要像“嘿那里”这样的东西变成,例如,#316583。我希望将任意长度的字符串“归结”为十六进制颜色。我不知道从哪里开始。我在想,每个字符串的MD5散列都是不同的-但如何将该散列转换为十六进制颜色数字? 最佳答案 你可以只取几位前几位:require'digest/md5'color=Digest::MD5.hexdigest('Mytext')[0..5] 关于ruby-如何使用Ruby基于字母数字字符串生成颜色?,我们在StackOverflow上找到一个类似的问题:

  9. ruby-on-rails - 用一系列时间增量填充选择,加上其他选项 - 2

    使用RubyonRails,我使用给定的增量(例如每30分钟)用时间填充“选择”。目前我正在YAML文件中写出所有的可能性,但我觉得有一种更巧妙的方法。我想我想提供一个开始时间、一个结束时间、一个增量,并且目前只提供一个名为“关闭”的选项(想想“business_hours”)。所以,我的选择可能会显示:'Closed'5:00am5:30am6:00am...[allthewayto]...11:30pm谁能想出更好的方法,或者只是将它们全部“拼写”出来的最佳方法? 最佳答案 此答案基于@emh的答案。defcreate_hour

  10. ruby-on-rails - 将没有默认值的 NOT NULL 字段添加到填充的数据库中 - 2

    我有一个表,我们称它为MyTable。它是Postgresql数据库的一部分。MyTable中有很多条目,比方说超过一百万。我想向该表中添加一个字段,我们将其命名为MyNewField。它由ActiveRecord迁移添加。此字段没有默认值且不可为空。结果,在它的迁移类中将是这样的:classAddMyFieldToMyTable但是,它会触发一个错误(PG::NotNullViolation),因为该表已经包含行,所有这些行的MyField都设置为NULL。我想做的是:添加没有默认值且可空设置为false的行(不触发PG::NotNullViolation)。然后,将另一个表中的值插

随机推荐