2017-05-17 5 views
2

Je travaille avec library pour créer de superbes graphiques dans mon application. Tout fonctionne bien mais aujourd'hui j'ai rencontré un problème. Je veux ajouter simplement la couleur de fond sous la légende du diagramme.Comment ajouter de la couleur de fond à la légende du graphique

Ma légende ressemble à ceci:

enter image description here

Je veux réaliser quelque chose comme ceci:

enter image description here

Ma mise en œuvre actuelle de chart`s partie de la légende:

private func prepareLegend() { 
    lineChart.legend.drawInside = true 
    lineChart.legend.horizontalAlignment = .right 
    lineChart.legend.verticalAlignment = .top 
    lineChart.legend.orientation = .vertical 
    lineChart.legend.formSize = 14.0 
    lineChart.legend.yEntrySpace = 6.0 
    lineChart.legend.font = UIFont.pmd_robotoRegular(ofSize: 12.0) 
    lineChart.legend.textColor = UIColor.pmd_darkGrey 

    let upperLegend = LegendEntry() 
    upperLegend.label = "Upper Thershold" 
    upperLegend.form = .square 
    upperLegend.formColor = UIColor.pmd_red 

    let lowerLegend = LegendEntry() 
    lowerLegend.label = "Lower Thershold" 
    lowerLegend.form = .square 
    lowerLegend.formColor = UIColor.pmd_red 

    lineChart.legend.extraEntries = [upperLegend, lowerLegend] 
} 

Anyb ody ici est familier avec cette bibliothèque et peut m'aider?

+0

Avez-vous trouvé une solution? –

+1

Malheureusement pas. –

Répondre

0

Vous pouvez facilement ajouter une propriété rect dans la classe de légende et la remplir de couleur. Et remplacez renderLegend(context: CGContext) où vous pouvez remplir la couleur d'arrière-plan dans ce rect.

+0

Comment définir la classe 'Legend' personnalisée à l'instance' LineChartView'? Je ne peux pas voir la méthode 'renderLegend (context: CGContext)' dans la classe 'Legend' mais je l'ai trouvé dans' LegendRenderer'. Je ne sais pas encore comment compter correctement rect. Pourriez-vous coller un exemple de code ou développer votre réponse? –