невозможно установить пользовательские цвета для диаграмм p ie - PullRequest
1 голос
/ 17 апреля 2020

Я использую iOS диаграммы, чтобы сделать диаграмму ap ie, и я не могу понять, как установить цвета как пользовательские цвета со значениями RGBA. вот код

        var  colors: [UIColor] = []
        colors.append(UIColor.init(red: 206, green: 173, blue: 128, alpha: 1))
        colors.append(UIColor.init(red: 136, green: 169, blue: 132, alpha: 1))
        colors.append(UIColor.init(red: 183, green: 73, blue: 32, alpha: 1))
        colors.append(UIColor.init(red: 106, green: 152, blue: 150, alpha: 1))
        colors.append(UIColor.init(red: 226, green: 120, blue: 123, alpha: 1))
        colors.append(UIColor.init(red: 47, green: 122, blue: 153, alpha: 1))

        chartDataSet.colors = colors

, но он не работает, и диаграмма выглядит как

это

редактировать: вот остальные функция


    func updateChartData() {

        let chartDataSet = PieChartDataSet(entries: moods, label: nil)
        let chartData = PieChartData(dataSet: chartDataSet)
        chartDataSet.drawValuesEnabled = false
        pieChartVIew.drawEntryLabelsEnabled = false

        var  colors: [UIColor] = []
        colors.append(UIColor.init(red: 206, green: 173, blue: 128, alpha: 1))
        colors.append(UIColor.init(red: 136, green: 169, blue: 132, alpha: 1))
        colors.append(UIColor.init(red: 183, green: 73, blue: 32, alpha: 1))
        colors.append(UIColor.init(red: 106, green: 152, blue: 150, alpha: 1))
        colors.append(UIColor.init(red: 226, green: 120, blue: 123, alpha: 1))
        colors.append(UIColor.init(red: 47, green: 122, blue: 153, alpha: 1))

        chartDataSet.colors = colors


        pieChartVIew.holeColor = UIColor.clear
        pieChartVIew.data = chartData
}

и вот где я устанавливаю значения

    var happyDataEntry = PieChartDataEntry(value: 0)
    var happyCount = 0
    var moods = [PieChartDataEntry]()

    override func viewDidLoad() {
        super.viewDidLoad()

        happyDataEntry.value = Double(happyCount)
        happyDataEntry.label = "happy!"
        moods = [happyDataEntry}
        updateChartData()

}

1 Ответ

0 голосов
/ 17 апреля 2020

Я немного обновил ваш код: (Значение изменилось на: var happyCount = 1)

var happyDataEntry = PieChartDataEntry(value: 0)
var happyCount = 1
var moods = [PieChartDataEntry]()

Метод viewDidLoad:

override func viewDidLoad() {
    super.viewDidLoad()

    happyDataEntry.value = Double(happyCount)
    happyDataEntry.label = "happy!"
//  moods.append(happyDataEntry)   //If you uncomment this line you will see pie chart with 2 colors. 
    moods.append(happyDataEntry)
    updateChartData()
}

Обновлен метод диаграммы: (Я обновил Цвет инициала, пожалуйста, посмотрите.)

func updateChartData() {        
    let chartDataSet = PieChartDataSet(entries: moods, label: nil)
    let chartData = PieChartData(dataSet: chartDataSet)
    chartDataSet.drawValuesEnabled = false
    pieChartVIew.drawEntryLabelsEnabled = false

    var  colors: [UIColor] = []
    colors.append(UIColor.init(red: 206.0/255.0, green: 173.0/255.0, blue: 128.0/255.0, alpha: 1.0))
    colors.append(UIColor.init(red: 136.0/255.0, green: 169.0/255.0, blue: 132.0/255.0, alpha: 1.0))
    colors.append(UIColor.init(red: 183.0/255.0, green: 73.0/255.0, blue: 32.0/255.0, alpha: 1.0))
    colors.append(UIColor.init(red: 106.0/255.0, green: 152.0/255.0, blue: 150.0/255.0, alpha: 1.0))
    colors.append(UIColor.init(red: 226.0/255.0, green: 120.0/255.0, blue: 123.0/255.0, alpha: 1.0))
    colors.append(UIColor.init(red: 47.0/255.0, green: 122.0/255.0, blue: 153.0/255.0, alpha: 1.0))

    chartDataSet.colors = colors


    pieChartVIew.holeColor = UIColor.clear
    pieChartVIew.data = chartData
}

Пожалуйста, прокомментируйте, если у вас есть какие-либо вопросы.

Рад помочь!

...