ChartsOrg/Charts

LineChartRenderer add options to drawValues

Open

#3 467 ouverte le 22 mai 2018

Voir sur GitHub
 (4 commentaires) (0 réactions) (0 assignés)Swift (6 009 forks)batch import
enhancementgood first issue

Métriques du dépôt

Stars
 (28 002 stars)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

Description

What did you do?

I implemented LineChart in my project and tried to subclass LineChartRenderer in order to change offset of values that are drawn in func drawValues(context: CGContext). The problem is that the only option is to copy all code of this method from LineChartRenderer into my subclass, but there are warnings, because _xBounds property has internal protection level.

What did you expect to happen?

I would like to be able to control value position of DataSet entries on LineChart. For example, in LineChartRenderer in func drawValues(context: CGContext) there is an alignment option, which is always set to .center, but I need to set it to left.

if dataSet.isDrawValuesEnabled {
                        ChartUtils.drawText(
                            context: context,
                            text: formatter.stringForValue(
                                e.y,
                                entry: e,
                                dataSetIndex: i,
                                viewPortHandler: viewPortHandler),
                            point: CGPoint(
                                x: pt.x,
                                y: pt.y - CGFloat(valOffset) - valueFont.lineHeight),
                            align: .center,
                            attributes: [NSAttributedStringKey.font: valueFont, NSAttributedStringKey.foregroundColor: dataSet.valueTextColorAt(j)])
                    }

Also it would be great to change offset for X and Y position.

Is there any option to do that without making fork?

Charts Environment

**Charts version/Branch/Commit Number: 3.1.1 Release ** Xcode version: 9.3.1 Swift version: 4.1 Platform(s) running Charts: iOS macOS version running Xcode: 10.13.4

Guide contributeur