android – 在AchartEngine的屏幕中完成条形图

前端之家收集整理的这篇文章主要介绍了android – 在AchartEngine的屏幕中完成条形图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我得到蝙蝠条形图如下所示.

我使用下面的代码.

  1. public void createBarChart(String loanName1,String loanName2){
  2. XYSeries loan1Series = new XYSeries(loanName1);
  3. // Creating an XYSeries for Income
  4. XYSeries loan2Series = new XYSeries(loanName2);
  5. // Adding data to Income and Expense Series
  6. double ymax = principleLoan1;
  7. if(principleLoan2 > principleLoan1){
  8. ymax = principleLoan2;
  9. }
  10. if(totalPayment1 > 10000){
  11. totalPayment1 = totalPayment1/1000;
  12. }
  13. if(totalPayment2 > 10000){
  14. totalPayment2 = totalPayment2/1000;
  15. }
  16. if(totalPayment1 > totalPayment2){
  17. if(totalPayment1 > ymax){
  18. ymax = totalPayment1;
  19. }
  20. }else{
  21. if(totalPayment2 > ymax){
  22. ymax = totalPayment2;
  23. }
  24. }
  25. loan1Series.add(1,principleLoan1);
  26. loan1Series.add(2,totalPayment1);
  27. loan2Series.add(1,principleLoan2);
  28. loan2Series.add(2,totalPayment2);
  29. // Creating a dataset to hold each series
  30. XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
  31. // Adding loan 1 Series to the dataset
  32. dataset.addSeries(loan1Series);
  33. // Adding loan 2 Series to dataset
  34. dataset.addSeries(loan2Series);
  35. XYSeriesRenderer loan1Renderer = new XYSeriesRenderer();
  36. loan1Renderer.setColor(Color.parseColor("#b3b3b3"));
  37. loan1Renderer.setFillPoints(true);
  38. loan1Renderer.setChartValuesTextSize(20);
  39. loan1Renderer.setLineWidth(0.2f);
  40. loan1Renderer.setDisplayChartValues(true);
  41. // Creating XYSeriesRenderer to customize expenseSeries
  42. XYSeriesRenderer loan2Renderer = new XYSeriesRenderer();
  43. loan2Renderer.setColor(Color.parseColor("#5eae1f"));
  44. loan2Renderer.setFillPoints(true);
  45. loan2Renderer.setChartValuesTextSize(20);
  46. loan2Renderer.setLineWidth(0.2f);
  47. loan2Renderer.setDisplayChartValues(true);
  48. XYMultipleSeriesRenderer multiRenderer = new XYMultipleSeriesRenderer();
  49. //multiRenderer.setXLabels(0);
  50. multiRenderer.setChartTitle("Difference between Two loan");
  51. //multiRenderer.setXTitle("Year 2012");
  52. // multiRenderer.setYTitle("Amount in Dollars");
  53. multiRenderer.setZoomButtonsVisible(false);
  54. multiRenderer.setZoomEnabled(false);
  55. multiRenderer.setPanEnabled(false);
  56. multiRenderer.setInScroll(true);
  57. multiRenderer.setClickEnabled(false);
  58. //multiRenderer.setFitLegend(true);
  59. //multiRenderer.setLegendHeight(50);
  60. //For apply background
  61. multiRenderer.setApplyBackgroundColor(true);
  62. multiRenderer.setBackgroundColor(Color.WHITE);
  63. multiRenderer.setMarginsColor(Color.WHITE);
  64. //multiRenderer.setLegendTextSize(20);
  65. multiRenderer.setAxisTitleTextSize(20);
  66. multiRenderer.setChartTitleTextSize(28);
  67. multiRenderer.setLabelsTextSize(18);
  68. multiRenderer.setLegendTextSize(18);
  69. //multiRenderer.setLegendHeight(5);
  70. // for x axis
  71. //multiRenderer.setXLabelsAlign(Align.CENTER);
  72. multiRenderer.setXLabels(0);
  73. //for y axis
  74. multiRenderer.setYLabelsAlign(Align.RIGHT);
  75. multiRenderer.setYAxisMax(ymax);
  76. // main axis
  77. multiRenderer.setAxisTitleTextSize(22);
  78. multiRenderer.setLabelsColor(Color.BLACK);
  79. //multiRenderer.setFitLegend(true);
  80. //multiRenderer.setZoomRate(0.2f);
  81. //multiRenderer.setMargins(new int[] { 70,50,30 });
  82. //multiRenderer.setBarSpacing(0.2f);
  83. multiRenderer.addSeriesRenderer(loan1Renderer);
  84. multiRenderer.addSeriesRenderer(loan2Renderer);
  85. GraphicalView barChart = ChartFactory.getBarChartView(CompareLoanActivity.this,dataset,multiRenderer,Type.DEFAULT);
  86. rlBarChart.addView(barChart);
  87. }

我想要这样的条形图.

当我缩小时,上图也是相同的图表.

谢谢

最佳答案
我通过设置以下属性解决了我的问题.

  1. multiRenderer.setXAxisMax(3);
  2. multiRenderer.setXAxisMin(0);

猜你在找的Android相关文章