簡體   English   中英

在餅圖中應用漸變 - iOS圖表庫

[英]Apply gradient in pie chart - iOS charts library

我在Swift中使用Charts庫創建了一個餅圖。

當我試圖通過CGColor來制作圖表的顏色時,它不接受它。

以下是我當前代碼的樣子:

let colorLV1 = [color.heatWheelOrange, color.heatWheelOrange, color.heatWheelSkyBlue]
let chartDataSetLV1 = setChartDataset(dataEntries: dataEntriesLV1, colorCode: colorLV1, valueTextColor: UIColor.black, fontFormat: fontMedium)
func setChartDataset(dataEntries : [PieChartDataEntry], colorCode : [UIColor], valueTextColor : UIColor, fontFormat : NSUIFont) -> PieChartDataSet {
    let chartDataSet = PieChartDataSet(values: dataEntries, label: "")
    chartDataSet.colors = colorCode
    chartDataSet.sliceSpace = 1
    chartDataSet.selectionShift = 0
    chartDataSet.valueTextColor = valueTextColor
    chartDataSet.valueFont = fontFormat
    return chartDataSet;
}

要顯示漸變,我將colorCode : [UIColor]更改為CGColor 但是它會引發錯誤。

有沒有辦法可以使用圖表庫在Swift中將顏色更改為漸變?

如果您還沒有https://github.com/viccalexander/Chameleon,我建議您查看ChameleonFramework

我已經將它與圖表一起用於條形圖上的漸變,但我認為它可以用餅圖的類似方式工作。 使用ChameleonFramework,我的代碼看起來像這樣;

    let color1 = UIColor(hex: 0x79D3DB)
    let color2 = UIColor(hex: 0x5773D3)

    let gradientColor = UIColor(gradientStyle: UIGradientStyle.topToBottom, withFrame: barChartView.frame, andColors: [color1, color2])

    var gradientColors = Array(repeating: gradientColor, count: 7)

    chartDataSet.colors = gradientColors as! [NSUIColor]

這應該可以防止你不得不處理UIColor> CGColor轉換問題。 希望有所幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM