2013-04-01 2 views
2

начать, вот ссылка на то, что мое приложение в настоящее время выглядит следующим образом: ds http://i50.tinypic.com/30skom0.jpgAChartEngine Гистограмма Margin Вопросы

Из двух диаграмм, показанных, я хочу, чтобы избавиться от края слева на гистограмме. Есть идеи?

Ниже приведены параметры моего рендеринга. Я искал и не смог найти людей с подобной проблемой. Кажется, что это должно быть просто ...

private void drawBarChart(XYMultipleSeriesDataset dataset) { 
    int marginT = 10; 
    int marginL = 5; 
    int marginB = 10; 
    int marginR = 5; 
    int[] margins = {marginT, marginL, marginB, marginR}; 

    ... 

    XYMultipleSeriesRenderer renderer = buildBarRenderer(colors); 
    renderer.setOrientation(Orientation.VERTICAL); 
    renderer.getSeriesRendererAt(0).setDisplayChartValues(false); 
    renderer.getSeriesRendererAt(1).setDisplayChartValues(false); 
    renderer.getSeriesRendererAt(2).setDisplayChartValues(false); 
    renderer.setLabelsColor(Color.LTGRAY); 
    renderer.setAxesColor(Color.BLACK); 
    renderer.setYAxisMin(0); 
    renderer.setMargins(margins); 
    renderer.setYAxisMax(maxYVal); 
    renderer.setYLabels(0); 
    renderer.setXLabels(0); 
    renderer.setXAxisMin(0); 
    renderer.setXAxisMax(2); 
    renderer.setZoomEnabled(false,false); 
    renderer.setPanEnabled(false, false); 
    renderer.setBarSpacing(-0.5); 
    renderer.setShowAxes(false); 
    renderer.setShowLabels(false); 
    renderer.setShowLegend(false); 

    ... 

    display chart in view 
} 

protected XYMultipleSeriesRenderer buildBarRenderer(int[] colors) { 
    XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); 
    int length = colors.length; 
    for (int i = 0; i < length; i++) { 
     SimpleSeriesRenderer r = new SimpleSeriesRenderer(); 
     r.setColor(colors[i]); 
     renderer.addSeriesRenderer(r); 
    } 
    return renderer; 
} 

Любая помощь была бы принята с благодарностью, спасибо!

ответ

6

Sneaky.

Я играл с полями, потому что решил использовать свои собственные TextViews в качестве названий, так как они визуализируются намного лучше, чем названия, предоставленные AChartEngine. Согласно документации, в нем говорится о работе наценки следующим образом:

margins - an array containing the margin size values, in this order: top, left, bottom, right 

, который почему я могу установить переменную наценки следующим образом:

int[] margins = {marginT, marginL, marginB, marginR}; 

Оказывается, что для горизонтальной гистограммы, marginB контролирует левое поле, а marginT контролирует правое поле. Другими словами, все поля должны быть повернуты по часовой стрелке для работы по назначению. (т. е. изменить правое поле, вы измените маржу для «вершины», чтобы изменить верхнее поле, вы измените маржу для «левого» и т. д.)

 Смежные вопросы

  • Нет связанных вопросов^_^