Androidplot: удалить пробел слева от диаграммы

Я использую androidplot-core-0.6.1.jar и изменяю пример SimpleXYPlotActivity из краткого руководства. Я удалил некоторые элементы и поля/отступы, но то, что я хочу сделать, и не могу найти способ, это удалить пространство слева от диаграммы. Я отметил пространство, которое хочу удалить, красным на изображении ниже. Можно ли это сделать?

Как это выглядит

Красным цветом показано, что я хочу удалить

Код из активности:

public class MyXYPlotActivity extends Activity {

   private XYPlot plot;

   @Override
   public void onCreate(Bundle savedInstanceState)
   {
       super.onCreate(savedInstanceState);

       requestWindowFeature(Window.FEATURE_NO_TITLE);
       getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
       WindowManager.LayoutParams.FLAG_FULLSCREEN);

       setContentView(R.layout.simple_xy_plot_example);

       setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);

       plot = (XYPlot) findViewById(R.id.mySimpleXYPlot);

       Number[] series1Numbers = {1, 8, 5, 2, 7, 4};

       XYSeries series1 = new SimpleXYSeries(
               Arrays.asList(series1Numbers),          // SimpleXYSeries takes a List so turn our array into a List
               SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, // Y_VALS_ONLY means use the element index as the x value
               "Foo");                               // Set the display title of the series

       LineAndPointFormatter series1Format = new LineAndPointFormatter();
       series1Format.setPointLabelFormatter(new PointLabelFormatter());
       series1Format.configure(getApplicationContext(),
               R.xml.line_point_formatter_with_plf1);

       plot.addSeries(series1, series1Format);

       plot.setDomainValueFormat(new DecimalFormat("#"));
       plot.setRangeValueFormat(new DecimalFormat("#"));

       plot.setTitle("Title");
       plot.setRangeBoundaries(0,10, BoundaryMode.FIXED);

       int length = 30;
       plot.setDomainBoundaries(1,length, BoundaryMode.FIXED);

       plot.setRangeStep(XYStepMode.INCREMENT_BY_VAL, 1);

       plot.setDomainStep(XYStepMode.INCREMENT_BY_VAL, 1);

       plot.setMarkupEnabled(true);

       plot.setTicksPerRangeLabel(1);
       plot.setTicksPerDomainLabel(1);
       plot.getGraphWidget().setDomainLabelOrientation(90);

       plot.getLayoutManager().remove(plot.getLegendWidget());
       plot.getLayoutManager().remove(plot.getRangeLabelWidget());
       plot.getLayoutManager().remove(plot.getDomainLabelWidget());

       plot.setPlotMargins(0, 0, 0, 0);
       plot.setPlotPadding(0, 0, 0, 0);

       plot.setBorderStyle(Plot.BorderStyle.SQUARE, null, null);

       plot.getRangeLabelWidget().setHeight(0);
       plot.getRangeLabelWidget().setWidth(0);
       plot.getRangeLabelWidget().setPadding(0, 0, 0, 0);
       plot.getRangeLabelWidget().setMargins(0, 0, 0, 0);

       plot.getDomainLabelWidget().setHeight(0);
       plot.getDomainLabelWidget().setWidth(0);
       plot.getDomainLabelWidget().setPadding(0, 0, 0, 0);
       plot.getDomainLabelWidget().setMargins(0, 0, 0, 0);

   }
}

EDIT: я нашел решение:

XYGraphWidget g = plot.getGraphWidget();
g.setRangeLabelWidth(25);
g.setDomainLabelWidth(25);

Это выше работает.


person BlueCat    schedule 11.06.2014    source источник


Ответы (1)


Похоже, вы хотите уменьшить/удалить поля и/или отступы graphWidget. Попробуйте добавить их в свой код, чтобы увидеть, дает ли он желаемый эффект... вам, очевидно, нужно использовать ненулевые значения, подходящие для вашего приложения:

plot.getGraphWidget().setMarginLeft(0);
plot.getGraphWidget().setPaddingLeft(0);

Также взгляните на эти похожие вопросы:

Попросите GraphWidget заполнить весь вид в AndroidPlot

Как удалить все пространство вокруг диаграммы в Android-сюжет?

person Nick    schedule 11.06.2014
comment
setMarginsLeft(0) и setPaddingLeft(0) не дали желаемого эффекта - person BlueCat; 11.06.2014
comment
Можете ли вы уточнить? Не было ли никакого эффекта или эффект был слишком сильным, слишком слабым, не в нужной области или какая-то комбинация вышеперечисленного? - person Nick; 11.06.2014
comment
Ник: Пробовал код, визуально ничего не изменилось. Я нашел кое-что, что сработало, проверив одну из предоставленных вами ссылок и поиграв с некоторыми. Я отредактировал свой первоначальный вопрос, чтобы включить решение. Спасибо. - person BlueCat; 11.06.2014