如果我使用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%?
找到创建图表的代码答案 0 :(得分:0)
做这样的事情
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;
}