Achartengine XYMultipleSeriesRenderer rende il grafico per i valori nulli e mostra distanze indesiderate b / .w bar

La schermata di immagine è sotto Ho sviluppato un grafico a barre utilizzando un motore di grafico e ho utilizzato più serie che mostrano diverse barre colorate sulla base della personalizzazione effettuata sui dati.

Ma quando c'è un valore null per una barra, XYmultiseriesrenderer ancora rende il grafico e crea spazi indesiderati tra le barre.

  • Cambiato il comportmento di Android SQLite Journal?
  • Come posso impostare la risorsa drawableRight tramite codice?
  • Formatta TextView per apparire come link
  • Android Sinistra, Centrale e Allineamento Destra
  • Firmate Android APK con un certificato che scade ancora in futuro
  • Numero arabo in text arabo in Android
  • private void openChart(){ //int[] x = { 0,1,2,3,4,5,6,7,8,9}; int[] income = { 230,220,230,250,270,300,280,350,370,400}; int[] expense = {220, 270, 290, 280, 260, 300, 330, 340}; int[] colors = {Color.GREEN,Color.YELLOW , Color.RED , Color.BLUE}; XYSeries[] incomeSeries = addIncomeSeriestoDataSet(income); XYSeries expenseSeries = constructExpenseSeries(expense); // Creating a dataset to hold each series XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); // Adding Income Series to the dataset for(int i= 0 ; i< incomeSeries.length ; i++) { dataset.addSeries(incomeSeries[i]); } //Adding Expense Series to the dataset dataset.addSeries(expenseSeries); // Creating a XYMultipleSeriesRenderer to customize the whole chart XYMultipleSeriesRenderer multiRenderer = buildRenderer(colors); // Creating an intent to plot bar chart using dataset and multipleRenderer Intent intent = ChartFactory.getBarChartIntent(getBaseContext(), dataset, multiRenderer, Type.DEFAULT); // Start Activity startActivity(intent); }private XYSeries[] addIncomeSeriestoDataSet(int[] income){ XYSeries[] incomeSeries = {new XYSeries("Income<=250") , new XYSeries("Income<320") , new XYSeries("Income>320")}; // Adding data to Income series int i = 0; int sizeX = mMonth.length; int incomeItemsCount = income.length; while(i<sizeX && i<incomeItemsCount){ if(income[i] <= 250) { incomeSeries[0].add(i, income[i]); } else if(income[i] <= 320) { incomeSeries[1].add(i, income[i]); } else { incomeSeries[2].add(i, income[i]); } i++; } return incomeSeries; } private XYSeries constructExpenseSeries(int[] expense) { XYSeries expenseSeries = new XYSeries("Expense"); int i=0; int sizeX = mMonth.length; int expenseItemsCount = expense.length; while(i<sizeX && i< expenseItemsCount) { expenseSeries.add(i,expense[i]); i++; } return expenseSeries; } private XYMultipleSeriesRenderer buildRenderer(int[] colors) { XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); renderer.setAxisTitleTextSize(16); renderer.setChartTitleTextSize(20); renderer.setLabelsTextSize(15); renderer.setLegendTextSize(15); renderer.setXLabels(0); renderer.setAxesColor(Color.BLUE); renderer.setXLabelsColor(Color.BLUE); renderer.setYLabelsColor(0,Color.BLUE); renderer.setXLabelsAlign(Align.CENTER); renderer.setChartTitle("Income vs Expense Chart"); renderer.setXTitle("Year 2012"); renderer.setYLabelsAlign(Align.RIGHT); renderer.setLabelsColor(Color.BLUE); renderer.setYTitle("Amount in Dollars"); renderer.setBarSpacing(1.0); renderer.setMarginsColor(Color.WHITE); renderer.setApplyBackgroundColor(true); renderer.setBackgroundColor(Color.WHITE); renderer.setMargins(new int[] { 20, 30, 15, 0 }); renderer.setZoomButtonsVisible(true); for(int i=0; i< mMonth.length ;i++){ renderer.addXTextLabel(i, mMonth[i]); } int length = colors.length; for (int i = 0; i < length; i++) { XYSeriesRenderer r = new XYSeriesRenderer(); r.setColor(colors[i]); r.setLineWidth(4); r.setFillPoints(true); r.setDisplayChartValues(true); renderer.addSeriesRenderer(r); } return renderer; 

  • salvare i dati utente durante un giorno (lo stesso giorno -> molti dati utente)
  • aChartEngine, GraphicalView OnClickListener non funziona
  • Come rimuovere lo spazio inutile tra le barre in AchartEngine?
  • Effettuare l'asse x in centro verticale usando AChartEngine
  • Achartengine su android - asse Y multiplo
  • achartengine - non riesco a capire come utilizzare date come asse x - il file che salvo è vuoto
  • One Solution collect form web for “Achartengine XYMultipleSeriesRenderer rende il grafico per i valori nulli e mostra distanze indesiderate b / .w bar”

    Hai una setBarSpacing(1.0) nel tuo codice. Basta rimuoverlo.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.