ChartsOrg/Charts

LineChartRenderer add options to drawValues

Open

#3.467 aberto em 22 de mai. de 2018

Ver no GitHub
 (4 comments) (0 reactions) (0 assignees)Swift (6.009 forks)batch import
enhancementgood first issue

Métricas do repositório

Stars
 (28.002 stars)
Métricas de merge de PR
 (Nenhuma PRs mesclada em 30d)

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

Guia do colaborador