Olá! Estou enfrentando esse problema para formatar o valor impresso dentro do meu gráfico de pizza e não consegui descobrir como fazer isso:
Meu gráfico está imprimindo os valores com casas decimais, mas, em vez disso, preciso de Int.
Eu chamo func setChart(dataPoints: [String], values: [Double])
com um Int convertido em Double para os valores. Funciona, mas quero me livrar dos caracteres decimais. Agora isso deve ser feito com um formador, então encontrei isso na demonstração PieChartViewController.m.
NSNumberFormatter *pFormatter = [[NSNumberFormatter alloc] init];
pFormatter.numberStyle = NSNumberFormatterPercentStyle;
pFormatter.maximumFractionDigits = 1;
pFormatter.multiplier = @1.f;
pFormatter.percentSymbol = @" %";
[data setValueFormatter:[[ChartDefaultValueFormatter alloc] initWithFormatter:pFormatter]];
Isso é tudo que eu precisava, então tentei replicar isso convertendo para o swift 3, pois é Obj-C e alterando o numberStyle. Tudo indo bem até eu chegar à última linha. O conjunto de dados mais recente leva um IVALUEFORMATTER em vez de NSNUMBER. Como faço para definir IVALUEFORMATTER deste gráfico, uma vez que não tem propriedades como NSNUMBER?
Ficarei feliz por qualquer ajuda!
Não tenho certeza como é em Objective-C, mas em Swift você pode usar axis.valueFormatter = DefaultAxisValueFormatter(formatter: myNumberFormatter)
Obrigado patreu22 .... Eu tentei isso:
let pFormatter = NumberFormatter()
pFormatter.numberStyle = .none
MyChart.xAxis.valueFormatter = DefaultAxisValueFormatter(formatter: pFormatter)
Mas .... erro fatal: PieChart não tem XAxis:
A propósito ... estou usando o swift 3 ... o código de demonstração está em obj-c (não sei por que não foi atualizado).
Desculpe, eu exagerei nas coisas sobre Objective-C haha.
pieChart.data?.setValueFormatter(DefaultValueFormatter(formatter: pFormatter))
funciona para você?
Perfeito, patreu22.
Muito obrigado!
Comentários muito úteis
Desculpe, eu exagerei nas coisas sobre Objective-C haha.
pieChart.data?.setValueFormatter(DefaultValueFormatter(formatter: pFormatter))
funciona para você?