發現做這樣的事情
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;
}
如果你運行在上面的實驗,會發生什麼[中的demoApp的(https://play.google .com/store/apps/details?id = com.androidplot.demos&hl = en)條形圖活動?它是否表現出相同的行爲?它正在使用我的設備。 – Nick 2014-09-11 14:08:44
不,圖表以橫向模式顯示。如果您在http://stackoverflow.com/q/25780552/816754上運行我的代碼,會發生什麼情況會顯示不正確的行爲? – Mark 2014-09-12 02:31:21
@Mark在這兩種模式下都會出現,但在人像模式下會縮小。 – keshav 2014-09-16 06:31:13