Androidplot - 未显示在横向

问题描述:

如果我使用Androidplot绘制条形图,然后将手机方向从纵向更改为横向,则所有图表信息都会消失。 (链接到屏幕截图)。Androidplot - 未显示在横向

景观---没有图表数据

https://drive.google.com/file/d/0B4CxFPSlLEYpSXV1VnZFVFUtWGc/edit?usp=sharing

肖像---图表数据

https://drive.google.com/file/d/0B4CxFPSlLEYpdGZCMm8xdGZHTlk/edit?usp=sharing

一些经过试用和错误我发现,如果我的图表的宽度设置为设备屏幕宽度为0.96所有图表信息再次出现。

如何让Androidplot在横向占用100%的设备屏幕宽度?

我创建图表的代码可以在Androidplot - X-Axis labels cut off

+0

如果你运行在上面的实验,会发生什么[中的demoApp的(https://play.google .com/store/apps/details?id = com.androidplot.demos&hl = en)条形图活动?它是否表现出相同的行为?它正在使用我的设备。 – Nick 2014-09-11 14:08:44

+0

不,图表以横向模式显示。如果您在http://*.com/q/25780552/816754上运行我的代码,会发生什么情况会显示不正确的行为? – Mark 2014-09-12 02:31:21

+0

@Mark在这两种模式下都会出现,但在人像模式下会缩小。 – keshav 2014-09-16 06:31:13

发现做这样的事情

private View createBarGraph() 
    { 
     // initialize our XYPlot reference: 
     XYPlot plot = (XYPlot) this.findViewById(R.id.mySimpleXYPlot1); 

     // Create a couple arrays of y-values to plot: 
     Number[] series1Numbers = GenerateGraphValues(); 

     // Turn the above arrays into XYSeries': 
     XYSeries series1 = new SimpleXYSeries(Arrays.asList(series1Numbers), 
     SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, // Y_VALS_ONLY means use the 
                           // element index as the x value 
       "Series1"); // Set the display title of the series 

     BarFormatter series1Format = new BarFormatter(Color.rgb(51, 181, 229), Color.TRANSPARENT); 
     PointLabelFormatter plf = new PointLabelFormatter(); 
     plf.getTextPaint().setTextSize(18); 
     plf.getTextPaint().setColor(Color.BLACK); 
     series1Format.setPointLabelFormatter(plf); 

     series1Format.setPointLabeler(new PointLabeler(){ 
      DecimalFormat df = new DecimalFormat("##0.00"); 

      public String getLabel(XYSeries series, int index) 
      { 

       // need to check for null 
       if(series.getY(index) == null) return ""; 

       return df.format(series.getY(index)); 
      } 
     }); 

     // add a new series' to the xyplot: 
     plot.addSeries(series1, series1Format); 

     // Y axis config 
     plot.setRangeLabel("Values"); // label 
     plot.setRangeBoundaries(0, 110, BoundaryMode.FIXED); // scale 
     plot.setRangeStep(XYStepMode.INCREMENT_BY_VAL, 10); // steps 
     plot.getGraphWidget().getRangeLabelPaint().setTextSize(26); // font size 
     DecimalFormat nf = new DecimalFormat("#0"); 
     plot.setRangeValueFormat(nf); 

     // X Axs config 
     plot.setDomainLabel("Indexes"); 
     plot.setDomainStep(XYStepMode.INCREMENT_BY_VAL, 1); 
     plot.getGraphWidget().setDomainValueFormat(new DecimalFormat("0")); 
     plot.getGraphWidget().getDomainLabelPaint().setTextSize(18); 
     plot.getGraphWidget().setMarginTop(20); 
     plot.getGraphWidget().setMarginBottom(15); 
     plot.getGraphWidget().setMarginLeft(15); 
     plot.getGraphWidget().setMarginRight(15); 
//  plot.getLegendWidget().setHeight(14); 
     plot.getGraphWidget().setGridPaddingLeft(15); 
     plot.getGraphWidget().setGridPaddingRight(15); 
//  plot.getGraphWidget().setGridPaddingBottom(20); 
     // other config 
     plot.getLegendWidget().setVisible(false); // hide legend 
     plot.getGraphWidget().getDomainGridLinePaint().setColor(Color.TRANSPARENT); // hide 
                                           // grid 
                                           // lines 
     plot.getGraphWidget().getRangeGridLinePaint().setColor(Color.TRANSPARENT); // hide 
                                           // grid 
                                           // lines 
//  plot.getGraphWidget().setGridPaddingLeft(40); // give some padding 
//  plot.getGraphWidget().setGridPaddingRight(40); // give some padding 
     plot.getGraphWidget().getGridBackgroundPaint().setColor(Color.WHITE); // background 
                                        // color 
//  plot.getTitleWidget().setPaddingTop(10); // give some padding 

     // set bar width 
     BarRenderer<?> renderer = (BarRenderer<?>) plot.getRenderer(BarRenderer.class); 
     renderer.setBarWidth(20); 
     return plot; 

    }