положительное и отрицательное значение в гистограмме в Android

я сделал гистограмму в Android. Положительное значение в гистограмме было исправлено, и есть слишком отрицательное значение. Нарисуйте положительные значения на диаграмме правильно, но отрицательные значения не рисуются или не заполняют цвет. я не не знаю, как нарисовать гистограмму с отрицательным значением. кто-нибудь, помогите мне.

String[] titles = new String[] { "USER INPUTS" };
    List<double[]> x = new ArrayList<double[]>();
    x.add(new double[] { 1, 2, 3, 4, 5 });
    List<double[]> values = new ArrayList<double[]>();
    values.add(new double[] { 2, -3, 4, 3, -7 });
    dataset = new XYMultipleSeriesDataset();
    renderer = new XYMultipleSeriesRenderer();
    renderer.setChartTitle("USER INPUTS");
    renderer.setXTitle("X");
    renderer.setYTitle("Y");
    renderer.setXLabelsAlign(Align.RIGHT);
    renderer.setYLabelsAlign(Align.RIGHT);
    renderer.setXAxisMin(0);
    renderer.setXAxisMax(10);
    renderer.setYAxisMin(-40);
    renderer.setYAxisMax(40);
    renderer.setClickEnabled(false);
    renderer.setExternalZoomEnabled(false);
    renderer.setZoomButtonsVisible(true);
    renderer.setPanLimits(new double[] { 0, 5, 0, 100 });
    renderer.setZoomLimits(new double[] { 10, 20, 10, 40 });
    renderer.setShowGrid(true);

    renderer.setPanEnabled(false, false);
    renderer.setZoomEnabled(false, false);

    renderer.setBarSpacing(1.5);
    renderer.setLabelsColor(Color.BLUE);
    renderer.setAxisTitleTextSize(16);
    renderer.setChartTitleTextSize(20);
    renderer.setLabelsTextSize(15);
    renderer.setLegendTextSize(15);
    renderer.setMargins(new int[] { 20, 30, 15, 20 });
    renderer.setBackgroundColor(Color.GREEN);
    renderer.setMarginsColor(getResources().getColor(R.color.transparent));
    rendererSeries = new XYSeriesRenderer();
    rendererSeries.setColor(Color.GREEN);
    rendererSeries.setDisplayChartValues(true);
    renderer.addSeriesRenderer(rendererSeries);

    if (mChartView == null) {
        Log.d("Oncreate ", "if (mChartView == null)");
        mChartView = ChartFactory.getBarChartView(context,
                mDataset(titles, x, values), renderer, Type.DEFAULT);
        layoutBarGraph.addView(mChartView, new LayoutParams(
                LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));

    } else {
        // mChartView.repaint();
        Log.d("Oncreate ", "if (mChartView != null)");
    }

person Seema Nagar    schedule 27.03.2015    source источник
comment
Не могли бы вы взглянуть на мою проблему stackoverflow.com/questions/59541099/   -  person Cosmic Dev    schedule 31.12.2019


Ответы (1)


Может быть, уже поздно, но я надеюсь, что это поможет.

Вы должны установить для свойства YAxis startAtZero значение false.

См. код ниже:

//For me, AxisDependency.LEFT because I was using an horizontar-bar
 YAxis yAxis = mChart.getAxis(YAxis.AxisDependency.LEFT);
 yAxis.setStartAtZero(false);
person Juan Aguilar Guisado    schedule 14.07.2015
comment
Это не работает, см. мою проблему stackoverflow.com/questions/59541099/ - person Cosmic Dev; 31.12.2019
comment
Спасибо чувак !!!! - person Nadim Ansari; 04.02.2021