Java 如何基于AndroidPlot制作简单的条形图?

Java 如何基于AndroidPlot制作简单的条形图?,java,android,charts,render,androidplot,Java,Android,Charts,Render,Androidplot,我已经从android的网站上找到了一些关于android绘图的例子。但我仍然无法使条形图与下图相似: 有人知道我忘记了哪一部分吗 这是我的密码: private void prepareSuccessRate() { // initialize our XYPlot reference: plot = (XYPlot) findViewById(R.id.mySimpleXYPlot); formatter3 = new MyBarFormatter(Color

我已经从android的网站上找到了一些关于android绘图的例子。但我仍然无法使条形图与下图相似:

有人知道我忘记了哪一部分吗

这是我的密码:

 private void prepareSuccessRate() {

    // initialize our XYPlot reference:
    plot = (XYPlot) findViewById(R.id.mySimpleXYPlot);

    formatter3 = new MyBarFormatter(Color.argb(200, 100, 100, 150),
            Color.LTGRAY);

    formatter2 = new MyBarFormatter(Color.argb(200, 50, 100, 100),
            Color.YELLOW);

    // add a dark, semi-transparent background to the selection label
    // widget:
    Paint p = new Paint();
    p.setARGB(100, 0, 0, 0);

    // reduce the number of range labels

    plot.setRangeLowerBoundary(0, BoundaryMode.FIXED);
    plot.getGraphWidget().setGridPadding(0, 10, 0, 0);

    plot.setTicksPerRangeLabel(1);
    plot.setTicksPerDomainLabel(1);

    // setup check box listers:
    series1CheckBox = (CheckBox) findViewById(R.id.s1CheckBox);
    series2CheckBox = (CheckBox) findViewById(R.id.s2CheckBox);

    // obtaining file calculating variables
    TransfObject.prepareData();

    if (TransfObject.manyXP() != 0) {

        // display it on UI
        ToastObject.postFastMessage("ada "+TransfObject.TotalFailedXP());

        // success & failure data
        series1Numbers = getSingleValueNumber(TransfObject.TotalSuccessXP());
        series1aNumbers = getSingleValueNumber(TransfObject.TotalFailedXP());

        series1 = new SimpleXYSeries(Arrays.asList(series1Numbers),
                SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, sTitleSuccess);

        series2 = new SimpleXYSeries(Arrays.asList(series1aNumbers),
                SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, sTitleFailed);

        series2Numbers = getManyOrderedExp(1);

        // max y-value
        plot.setRangeTopMax(TransfObject.manyXP());
        plot.setRangeBottomMax(3);

        plot.setDomainValueFormat(new GraphXLabelFormat());

        updatePlot();

    }

    plot.setRangeLabel(sTitleNumberOfExp);
    plot.setTitle("Success Rate");
    plot.setDomainLabel(sDomainLabel);

}


 private void updatePlot() {

    // Remove all current series from each plot
    Iterator<XYSeries> iterator1 = plot.getSeriesSet().iterator();
    while (iterator1.hasNext()) {
        XYSeries setElement = iterator1.next();
        plot.removeSeries(setElement);
    }

    if (repType == Stats.BY_SUCCESS_RATE) {
        // displaying success rate
        // color
        plot.addSeries(series1, formatter3);
        plot.addSeries(series2, formatter2);

    } else if (repType == Stats.BY_TRANSFER_SPEED) {
        // displaying transfer speed
        // color
        plot.addSeries(series1, formatter2);

    } else if (repType == Stats.BY_TRANSFER_TIME) {
        // displaying transfer time
        // color
        plot.addSeries(series1, formatter1);
    }

    MyBarRenderer renderer = ((MyBarRenderer) plot
            .getRenderer(MyBarRenderer.class));
    renderer.setBarRenderStyle((BarRenderer.BarRenderStyle) BarRenderer.BarRenderStyle.SIDE_BY_SIDE);
    renderer.setBarWidthStyle((BarRenderer.BarWidthStyle) BarRenderer.BarWidthStyle.FIXED_WIDTH);
    renderer.setBarWidth(50);

    plot.redraw();

} 
private void preparesuccesrate(){
//初始化XYPlot引用:
plot=(XYPlot)findViewById(R.id.mySimpleXYPlot);
formatter3=新的MyBarFormatter(Color.argb(200100100150),
颜色(灰色);
formatter2=新的MyBarFormatter(Color.argb(200,50,100,100),
颜色(黄色);
//向选择标签添加深色半透明背景
//小部件:
油漆p=新油漆();
p、 setARGB(100,0,0,0);
//减少范围标签的数量
plot.setRangeLowerBoundary(0,BoundaryMode.FIXED);
getGraphWidget().setGridPadding(0,10,0,0);
plot.setTicksPerRangeLabel(1);
plot.setTicksPerDomainLabel(1);
//设置复选框列表器:
series1CheckBox=(复选框)findViewById(R.id.s1CheckBox);
series2CheckBox=(复选框)findViewById(R.id.s2CheckBox);
//获取文件计算变量
TransfObject.prepareData();
if(TransfObject.manyXP()!=0){
//在UI上显示它
ToAsObject.postFastMessage(“ada”+TransfObject.TotalFailedXP());
//成功与失败数据
series1Numbers=getSingleValueNumber(TransfObject.TotalSuccessXP());
Series1aNumber=getSingleValueNumber(TransfObject.TotalFailedXP());
series1=新的SimpleXYSeries(Arrays.asList(series1number)),
SimpleXYSeries.ArrayFormat.Y_VALS_ONLY,sTitleSuccess);
series2=新的SimpleXYSeries(Arrays.asList(series1aanumbers),
SimpleXYSeries.ArrayFormat.Y_VALS_仅限,缝合失败);
series2Numbers=getManyOrderedExp(1);
//最大y值
plot.setRangeTopMax(TransfObject.manyXP());
plot.setRangeBottomMax(3);
setDomainValueFormat(新的GraphXLabelFormat());
updatePlot();
}
plot.setRangeLabel(缝合编号Ofexp);
地块名称(“成功率”);
plot.setDomainLabel(sDomainLabel);
}
私有void updatePlot(){
//从每个绘图中删除所有当前系列
迭代器迭代器1=plot.getSeriesSet().Iterator();
while(iterator1.hasNext()){
XYSeries setElement=iterator1.next();
plot.removeSeries(setElement);
}
if(repType==Stats.BY_SUCCESS_RATE){
//显示成功率
//颜色
plot.addSeries(series1,formatter3);
plot.addSeries(series2,formatter2);
}else if(repType==统计数据按传输速度){
//显示传送速度
//颜色
plot.addSeries(系列1,格式化程序2);
}else if(repType==Stats.BY\u TRANSFER\u TIME){
//显示传输时间
//颜色
plot.addSeries(series1,formatter1);
}
MyBallenderer渲染器=((MyBallenderer)绘图
.getRenderer(mybarnderer.class));
renderer.setBarRenderStyle((BarRenderer.BarRenderStyle)BarRenderer.BarRenderStyle.SIDE_BY_SIDE);
renderer.setBarWidthStyle((BarRenderer.BarWidthStyle)BarRenderer.BarWidthStyle.FIXED_WIDTH);
1.立根宽度(50);
plot.redraw();
}