achartengine_AChartEngine –适用于Android应用程序的图表库

achartengine

顾名思义,AChartEngine是一个图表库,可以在Android应用程序中使用。

它支持1.6及更高版本的所有Android SDK版本。 1.6版仅提供基于平移和按钮的缩放,而2.1版和更高版本增加了对捏缩放的支持,因为该功能已在Android SDK 2.x和更高版本中提供。 不久前,当AChartEngine放弃了对2.1版之前的Android SDK版本的支持时,许多用户在发布后几天就要求它。 当时,根据此处提供的官方Android平台发行版,在全球范围内,仍有大约5%的设备运行的版本早于2.x。

使用AChartEngine将图表添加到Android应用程序中,就像将achartengine-xyzjar添加到应用程序类路径并开始根据其API进行编码一样简单。 当前的稳定版本是1.0.0,正在开发的版本是1.1.0。 jar文件只有110 KB的大小,如今这是一个很小的足迹。 但是,AChartEngine支持许多图表类型。

一点历史

在2008年末,Android开发人员已经在寻找图表/图形/绘图库。 那时还没有这样的免费/开源解决方案。
我开始评估Android的乐趣,并在开发了一些需要图形化的Android应用程序之后,我决定可以以AChartEngine的名义开源该图形代码。 0.2.0版于2009年3月发布,是第一个适用于Android的开源图表库。 当时,Android SDK的版本为1.1。

特征

AChartEngine支持三种主要的图表类型:

  • XY图表–在2轴上显示数据(线,立方线,面积,条形图,散点图,气泡,范围(高-低))
  • “圆形”图表–馅饼,甜甜圈,刻度盘
  • 组合图表–可以显示XY图表的组合

要快速浏览一些AChartEngine演示应用程序屏幕截图,请访问官方网站AChartEngine Google代码页面

整体课堂设计

下图显示了处理图表的直观呈现的类的组织方式。


  • AbstractChart类描述了所有图表共享的行为,包括图形背景,图例,标题等。
  • XYChart类描述了XY图表类型共有的状态和行为,例如轴,标签的呈现等。
  • RoundChart与XYChart类似,但是对于具有圆形形状的图表类型。

设计组成

整个设计不仅限于视觉/视图部分。 还有更多组成部分有助于整体情况。

  • 模型–数据集/数据系列。
  • 视图–如上所述。
  • 渲染器–帮助定制图表外观(颜色,字体,轴,标签,格式等)。
  • ChartFactory –获取数据集的实例和渲染器的实例,并返回嵌入到Intent(对于图表填充一个Activity的情况)或View(当图表是Activity的一部分时)的所需图表,以及其他小部件)。
  • 工具–用于平移和缩放的交互工具。

代码样例

以下代码显示了如何初始化图表并将其添加到活动的简单示例。 软件包声明和导入已删除,以保持样本较小。

public class SampleChart extends Activity {
    private GraphicalView mChart;

    private XYMultipleSeriesDataset mDataset = new XYMultipleSeriesDataset();

    private XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();

    private XYSeries mCurrentSeries;

    private XYSeriesRenderer mCurrentRenderer;

    private void initChart() {
        mCurrentSeries = new XYSeries('Sample Data');
        mDataset.addSeries(mCurrentSeries);
        mCurrentRenderer = new XYSeriesRenderer();
        mRenderer.addSeriesRenderer(mCurrentRenderer);
    }

    private void addSampleData() {
        mCurrentSeries.add(1, 2);
        mCurrentSeries.add(2, 3);
        mCurrentSeries.add(3, 2);
        mCurrentSeries.add(4, 5);
        mCurrentSeries.add(5, 4);
    }

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    protected void onResume() {
        super.onResume();
        LinearLayout layout = (LinearLayout) findViewById(R.id.chart);
        if (mChart == null) {
            initChart();
            addSampleData();
            mChart = ChartFactory.getCubeLineChartView(this, mDataset, mRenderer, 0.3f);
            layout.addView(mChart);
        } else {
            mChart.repaint();
        }
    }
}

为了使上面的示例工作,必须定义一个简单的布局文件,并且该文件必须包含带有android:id ='@ + id / chart'的LinearLayout。

应用领域

所有类型的应用程序都使用AChartEngine进行图表渲染。 Appbrain.com Android市场指出,已发布应用程序总数(约60万)的0.52%使用AChartEngine,这意味着其中有3000多个正在使用AChartEngine。

使用AChartEngine的最受欢迎的应用程序列表:

  • MotoACTV –摩托罗拉开发的健身工具,已预先安装在其设备上
  • 心电图查看器,生物线束应用
  • 路径追踪器,健身,骑行应用
  • 金融,商业应用
  • 其他,…

资源资源

欢迎贡献者

在您的简历中,为开源项目做贡献可能看起来不错。 AChartEngine是一个开源项目,因此它是社区努力的结果。 对AChartEngine做出贡献的建议路径可能是:

  • 从SVN中签出源代码并尝试理解它。
  • 查看未解决的问题,然后尝试解决其中的一些问题。 完成后,提供补丁。
  • 要求提交者权利。
  • 在StackOverflow或其他网站上回答问题。

参考: AChartEngine – Java出现日历博客上来自JCG合作伙伴 Attila-Mihaly Balazs的Android应用程序图表库

翻译自: https://www.javacodegeeks.com/2012/12/achartengine-a-charting-library-for-android-applications.html

achartengine

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值