Migrei meus diagramas para o Charts 3.0.1. Funcionou muito bem, mas não consigo alinhar os gráficos de barras aos meus valores xAxis. O diagrama a seguir deve mostrar um histograma de valores entre 0 e 10 (11 barras).
Variante 1
barChart.xAxis.granularity = 1.0
barChart.xAxis.granularityEnabled = true
barChart.xAxis.setLabelCount(11, force: true)
Todos os valores de índice são mostrados, mas não alinhados com as barras.
Variante 2 (centerAxisLabelsEnabled)
barChart.xAxis.granularity = 1.0
barChart.xAxis.granularityEnabled = true
barChart.xAxis.centerAxisLabelsEnabled = true
barChart.xAxis.setLabelCount(11, force: true)
O índice 10 está ausente no xAxis.
Variante 3 (fitBars)
barChart.xAxis.granularity = 1.0
barChart.xAxis.granularityEnabled = true
barChart.xAxis.centerAxisLabelsEnabled = true
barChart.xAxis.setLabelCount(11, force: true)
barChart.fitBars = true
O xAxis começa com -1
**Variante 4 (eixoMínimo e eixoMáximo)
barChart.xAxis.granularity = 1.0
barChart.xAxis.granularityEnabled = true
barChart.xAxis.centerAxisLabelsEnabled = true
barChart.xAxis.setLabelCount(11, force: true)
barChart.xAxis.axisMinimum = 0.0
barChart.xAxis.axisMaximum = 10.0
barChart.fitBars = true
As barras não estão mais centralizadas e o último valor de xAxis 10 não é mostrado.
Tentei algumas outras combinações, mas não consegui alinhar as barras com meus números 0...10 no xAxis. Alguém tem alguma ideia?
Outro julgamento. Parece próximo ao meu resultado esperado, mas a primeira e a última barras são mostradas apenas pela metade (veja também isst #2105).
barChart.xAxis.axisMinimum = 0.0
barChart.xAxis.axisMaximum = 10.0
barChart.xAxis.granularity = 1.0
barChart.xAxis.granularityEnabled = true
barChart.xAxis.labelCount = 11
barChart.fitBars = true
O layout de diagrama mais próximo comparado aos Gráficos 2.x me fornece o seguinte código. Mas como posso mover as linhas de grade entre as barras como é feito nos Gráficos 2.x? Eu tentei xAxis.centerAxisLabelsEnabled = true
e fitBars = true
. Ambos os atributos corromperam meu layout xAxis/bar.
barChart.xAxis.granularity = 1.0
barChart.xAxis.granularityEnabled = true
barChart.xAxis.labelCount = 11
@SvenMuc Também estou enfrentando o mesmo problema com o gráfico combinado (gráfico de barras e linhas) ... A largura da primeira e da última barra é apenas metade .. se você encontrou a solução, por favor me ajude
Para qualquer outra pessoa que esteja lutando com isso, descobri que não poderia usar essa combinação de granularidade e setLabelCount() ou os rótulos seriam desalinhados e/ou as barras esquerda e direita cortadas.
No entanto, isso parece funcionar para mim:
self.periodGraphView.xAxis.labelCount = barValues.count
self.periodGraphView.xAxis.spaceMin = 0.5
self.periodGraphView.xAxis.spaceMax = 0.5
self.periodGraphView.xAxis.granularityEnabled = true
self.periodGraphView.xAxis.granularity = 1
Ei, obrigado, isso me ajudou a colocar os rótulos do eixo x no centro da barra, mas que tal a última barra ser cortada?
Como você consertou?
Ei, obrigado, isso me ajudou a colocar os rótulos do eixo x no centro da barra, mas que tal a última barra ser cortada?
Como você consertou?
barChart.xAxis.axisMaximum = Double(values.count)
barChart.xAxis.centerAxisLabelsEnabled = false
isso corrigido no meu caso.
Não defina centerAxisLabelsEnabled true
consulte demonstração de gráficos. isso tem sido longo .. então deve ser inválido agora.
chartView.xAxis.axisMinimum = -0.5 //para evitar o problema da última barra ficar meio cortada
isso funcionou para mim
Alguém pode me dar todo o código do gráfico, na verdade eu apliquei isso, mas não funcionou
Comentários muito úteis
Para qualquer outra pessoa que esteja lutando com isso, descobri que não poderia usar essa combinação de granularidade e setLabelCount() ou os rótulos seriam desalinhados e/ou as barras esquerda e direita cortadas.
No entanto, isso parece funcionar para mim: