android - AchartEngine 屏幕中的完整条形图

标签 android bar-chart achartengine

我得到如下所示的 bat 条形图。

enter image description here

我为此使用了以下代码。

public void createBarChart(String loanName1,String loanName2){
        XYSeries loan1Series = new XYSeries(loanName1);
        // Creating an  XYSeries for Income
        XYSeries loan2Series = new XYSeries(loanName2);
        // Adding data to Income and Expense Series
        double ymax = principleLoan1;
        if(principleLoan2 > principleLoan1){
            ymax = principleLoan2;
        }
        if(totalPayment1 > 10000){
            totalPayment1 = totalPayment1/1000;
        }
        if(totalPayment2 > 10000){
            totalPayment2 = totalPayment2/1000;
        }
        if(totalPayment1 > totalPayment2){
            if(totalPayment1 > ymax){
                ymax = totalPayment1;
            }
        }else{
            if(totalPayment2 > ymax){
                ymax = totalPayment2;
            }
        }

        loan1Series.add(1, principleLoan1);
        loan1Series.add(2, totalPayment1);

        loan2Series.add(1, principleLoan2);
        loan2Series.add(2, totalPayment2);

        // Creating a dataset to hold each series
        XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
        // Adding loan 1 Series to the dataset
        dataset.addSeries(loan1Series);
        // Adding loan 2 Series to dataset
        dataset.addSeries(loan2Series);   

        XYSeriesRenderer loan1Renderer = new XYSeriesRenderer();
        loan1Renderer.setColor(Color.parseColor("#b3b3b3"));
        loan1Renderer.setFillPoints(true);
        loan1Renderer.setChartValuesTextSize(20);
        loan1Renderer.setLineWidth(0.2f);
        loan1Renderer.setDisplayChartValues(true);

        // Creating XYSeriesRenderer to customize expenseSeries
        XYSeriesRenderer loan2Renderer = new XYSeriesRenderer();
        loan2Renderer.setColor(Color.parseColor("#5eae1f"));
        loan2Renderer.setFillPoints(true);
        loan2Renderer.setChartValuesTextSize(20);
        loan2Renderer.setLineWidth(0.2f);
        loan2Renderer.setDisplayChartValues(true);   

        XYMultipleSeriesRenderer multiRenderer = new XYMultipleSeriesRenderer();
        //multiRenderer.setXLabels(0);
        multiRenderer.setChartTitle("Difference between Two loan");
        //multiRenderer.setXTitle("Year 2012");
       // multiRenderer.setYTitle("Amount in Dollars");
        multiRenderer.setZoomButtonsVisible(false);
        multiRenderer.setZoomEnabled(false);
        multiRenderer.setPanEnabled(false);
        multiRenderer.setInScroll(true);
        multiRenderer.setClickEnabled(false);
        //multiRenderer.setFitLegend(true);
        //multiRenderer.setLegendHeight(50);

        //For apply background
        multiRenderer.setApplyBackgroundColor(true);
        multiRenderer.setBackgroundColor(Color.WHITE);
        multiRenderer.setMarginsColor(Color.WHITE);


        //multiRenderer.setLegendTextSize(20);

        multiRenderer.setAxisTitleTextSize(20);
        multiRenderer.setChartTitleTextSize(28);
        multiRenderer.setLabelsTextSize(18);
        multiRenderer.setLegendTextSize(18);
        //multiRenderer.setLegendHeight(5);
        // for x axis
        //multiRenderer.setXLabelsAlign(Align.CENTER);
        multiRenderer.setXLabels(0);
        //for y axis
        multiRenderer.setYLabelsAlign(Align.RIGHT);
        multiRenderer.setYAxisMax(ymax);

        // main axis 
        multiRenderer.setAxisTitleTextSize(22);
        multiRenderer.setLabelsColor(Color.BLACK);

        //multiRenderer.setFitLegend(true);
        //multiRenderer.setZoomRate(0.2f); 
        //multiRenderer.setMargins(new int[] { 70, 50, 50, 30 });
        //multiRenderer.setBarSpacing(0.2f);
        multiRenderer.addSeriesRenderer(loan1Renderer);
        multiRenderer.addSeriesRenderer(loan2Renderer);

        GraphicalView barChart = ChartFactory.getBarChartView(CompareLoanActivity.this, dataset, multiRenderer, Type.DEFAULT);
        rlBarChart.addView(barChart);

    }

我想要这样的条形图。

enter image description here

当我缩小时,上面的图表也是同一张图表。

谢谢

最佳答案

我通过设置以下属性解决了我的问题。

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

关于android - AchartEngine 屏幕中的完整条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16976931/

相关文章:

android - Achart 引擎折线图 - 点击点弹出显示

java - 通用模型类

android - 当我在 Kotlin 中使用 Anko 时,如何为 SQLite 的表定义一个非空字段?

java - 为什么我的服务器和客户端在服务器 Activity 开始时断开连接?

java - 为什么颜色改变时按钮会改变大小?

android - aChartEngine,GraphicalView OnClickListener 不工作

android - 如何在 Donut-achartEngine Graph 中设置图像?

python - 动画条形图

javafx-2 - JavaFX 2.2 - 将鼠标事件添加到 BarChart 或 StockedBarChart 中的 Bar

R:带有 barpot、ggplot 或 plotly 的堆积条形图