首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AchartEngine注解

AchartEngine注解
EN

Stack Overflow用户
提问于 2013-01-21 07:51:32
回答 2查看 2.3K关注 0票数 2

无论我在哪里查找,我能找到的唯一信息都是通过以下代码添加它们

代码语言:javascript
复制
series.addAnnotation("Hello!!", 1, 1);

但是,当我在我的代码中尝试它(使用正确的系列名称)时,我得到一条错误消息,指出不支持addAnnotation。有人能帮我把这个弄清楚吗?谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-21 15:19:27

您必须下载该库的最新版本。例如,从here获取夜间构建。

在代码中,将最后一行(返回图表视图的那一行)替换为:

代码语言:javascript
复制
XYMultipleSeriesDataset dataset = buildBarDataset(titles, values);
XYSeries series = dataset.getSeriesAt(0);
series.addAnnotation("Vacation", 6, 30);
return ChartFactory.getBarChartView(context, dataset, renderer, Type.STACKED);
票数 1
EN

Stack Overflow用户

发布于 2013-01-21 23:57:27

这是代码。

代码语言:javascript
复制
public View getView(Context context) {

    String[] titles = new String[] { "2008", "2007" };
    List<double[]> values = new ArrayList<double[]>();
    values.add(new double[] { 240, 210, 60, 40 });
    values.add(new double[] { htmlHelper.grec, htmlHelper.gwhite, htmlHelper.gim, htmlHelper.gfit });
    int[] colors = new int[] { Color.rgb(255, 255, 255),
            Color.rgb(25, 25, 112) };
    XYMultipleSeriesRenderer renderer = buildBarRenderer(colors);

    switch (context.getResources().getDisplayMetrics().densityDpi) {

    /* Done*/
    case DisplayMetrics.DENSITY_XHIGH:
        renderer.setAxisTitleTextSize(29);
        renderer.setChartTitleTextSize(60);
        renderer.setLabelsTextSize(29);
        renderer.setLegendTextSize(50);
        renderer.setChartValuesTextSize(40);
        break;

    /*done*/
    case DisplayMetrics.DENSITY_HIGH:
        renderer.setAxisTitleTextSize(15);
        renderer.setChartTitleTextSize(47);
        renderer.setLabelsTextSize(19);
        renderer.setLegendTextSize(1);
        renderer.setChartValuesTextSize(40);
        break;

    case DisplayMetrics.DENSITY_LOW:
        renderer.setAxisTitleTextSize(24);
        renderer.setChartTitleTextSize(25);
        renderer.setLabelsTextSize(9);
        renderer.setLegendTextSize(10);
        renderer.setChartValuesTextSize(20);
        break;

    default:
        renderer.setAxisTitleTextSize(39);
        renderer.setChartTitleTextSize(35);
        renderer.setLabelsTextSize(20);
        renderer.setLegendTextSize(2);
        renderer.setChartValuesTextSize(40);
        break;
    }

    setChartSettings(renderer, "Gym Attendance", "", "", 0.5, 12.5, 0,
            24000, Color.BLACK, Color.BLACK);
    renderer.getSeriesRendererAt(0).setDisplayChartValues(false);
    renderer.getSeriesRendererAt(1).setDisplayChartValues(true);
    renderer.setShowLegend(false);
    renderer.setMargins(new int[] { 80, 10, 60, 10 });
    renderer.addXTextLabel(1, "Rec. Hall" + "\n" + ce);
    renderer.addXTextLabel(2, "White" + "\n" + "Building" + "\n"
            + wh);
    renderer.addXTextLabel(3, "IM" + "\n" + "Building" + "\n" + imm);
    renderer.addXTextLabel(4, "Fitness Loft" + "\n" + fi);
    renderer.setXLabelsColor(Color.rgb(0, 0, 0));
    renderer.setYLabelsColor(0, Color.BLACK);
    renderer.setYLabels(10);
    renderer.setXLabels(0);
    renderer.setXAxisMin(0);
    renderer.setXAxisMax(5);
    renderer.setYAxisMin(0);
    renderer.setYAxisMax(250);
    renderer.setAxesColor(Color.BLACK);
    renderer.setXLabelsAlign(Align.CENTER);
    renderer.setYLabelsAlign(Align.LEFT);
    renderer.setPanEnabled(false, false);
    // renderer.setZoomEnabled(false);
    renderer.setZoomRate(1.1f);
    renderer.setBarSpacing(0.5f);
    renderer.setApplyBackgroundColor(true);
    renderer.getSeriesRendererAt(1).setGradientEnabled(true);
    renderer.getSeriesRendererAt(1).setGradientStart(0,
            Color.rgb(192, 192, 192));
    renderer.getSeriesRendererAt(1).setGradientStop(45,
            Color.rgb(25, 25, 112));
    renderer.setBackgroundColor(Color.rgb(220, 220, 220));
    renderer.setMarginsColor(Color.rgb(248, 248, 255));
    renderer.setOrientation(Orientation.HORIZONTAL);
    renderer.setZoomEnabled(false, false);

    return ChartFactory.getBarChartView(context,
            buildBarDataset(titles, values), renderer, Type.STACKED);

}

非常感谢你看一看!起初,我使用文本视图的框架布局图形,但一旦我开始在不同的屏幕大小和像素密度上测试,这就不起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14430730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档