如何在android画分析图(例如 柱状图、趋势图、饼图)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在android画分析图(例如 柱状图、趋势图、饼图)相关的知识,希望对你有一定的参考价值。

例如 柱状图、趋势图、饼图等。

目前android上图标引擎并不少见,像aChartEngine就能很好的完成绘图:

aChartEngine支持:1、line chart (折线图) 2、area chart (面积图;分区图,对比图) 3、scatter chart ( 散点图) 4、time chart (时间图;进度表) 5、bar chart (条形图;柱状图) 6、pie chart ( 饼图) 7、bubble chart (气泡图) 8、doughnut chart (圆环图) 9、range (high-low) bar chart (范围条形图)  10、dial chart / gauge (拨号盘/压力表) 11、combined (any combination of line, cubic line, scatter, bar, range bar, bubble) chart(组合图) 12、cubic line chart (立方折线图) 

上述所有支持的图表类型,都可以包含多个系列,都支持水平(默认)或垂直方式展示图表,并且支持许多其他的自定义功能。所有图表都可以建立为一个view,也可以建立为一个用于启动activity的intent.

下面是一个饼状图的源码事例:

package org.achartengine.chartdemo.demo.chart;


import org.achartengine.ChartFactory;

import org.achartengine.renderer.DefaultRenderer;


import android.content.Context;

import android.content.Intent;

import android.graphics.Color;


public class BudgetPieChart extends AbstractDemoChart

  public String getName()

    return "Budget chart";

 


  public String getDesc()

    return "The budget per project for this year (pie chart)";

 

  public Intent execute(Context context)

    double[] values = new double[] 12, 14, 11, 10, 19 ;//饼图分层5块,每块代表的数值

    int[] colors = new int[] Color.BLUE, Color.GREEN, Color.MAGENTA, Color.YELLOW, Color.CYAN ;//每块饼图的颜色

    DefaultRenderer renderer = buildCategoryRenderer(colors);

    renderer.setZoomButtonsVisible(true);//设置显示放大缩小按钮

    renderer.setZoomEnabled(true);//设置允许放大缩小.

    renderer.setChartTitleTextSize(20);//设置图表标题的文字大小

    return ChartFactory.getPieChartIntent(context, buildCategoryDataset("Project budget", values),

        renderer, "Budget");//构建Intent, buildCategoryDataset是调用AbstraDemoChart的构建方法.  

 


参考技术A 个人觉得单单是绘图,其实非常简单,只不过是总体力活罢了 参考技术B 用了下aChartEngine,做出来的图好难看,打算考虑其他的 参考技术C 是我浏览器的问题还是?我只看到了“例如 柱状图、趋势图、饼图等。”没有找到我想要的答案!

python画柱状图 python画直方图

如题 利用python画柱状图 如何画高级柱状图 添加图例 横纵坐标名 柱状图高度 在一个柱状图上显示多个数据 画高级柱状图 添加图例 横纵坐标名 柱状图高度 画柱状对比图 【超简单教程】


代码
import matplotlib.pyplot as plt
import numpy as np

# 设置画布的大小
plt.figure(figsize=(6, 5))

# 输入统计数据
name = ('name1','name2') # 在这里设置名字
number_a = [0.81, 0.88] # 在这里设置高度
number_b = [0.68, 0.66]
number_c = [0.75, 0.83]

bar_width = 0.2  # 条形宽度
index_a = np.arange(len(name))
index_b = index_a + bar_width
index_c = index_b + bar_width
y = [number_a,number_b,number_c]
x = [index_a, index_b, index_c]


# 使用3次 bar 函数画出两组条形图
plt.bar(index_a, height=number_a, width=bar_width, color='b', label='a')
plt.bar(index_b, height=number_b, width=bar_width, color='y', label='b')
plt.bar(index_c, height=number_c, width=bar_width, color='c', label='c')

plt.legend()  # 显示图例
plt.xticks(index_a+bar_width, name)  # 将横坐标显示在每个坐标的中心位置
plt.ylim([0, 1.3])

# 给柱状图添加高度
for x_ind,y_ind in zip(x,y):
        xx1 = x_ind[0]
        xx2 = x_ind[1]
        yy1 = y_ind[0]
        yy2 = y_ind[1]
        plt.text(xx1, yy1+0.01, ('%.2f' % yy1), ha='center', va='bottom')
        plt.text(xx2, yy2+0.01, ('%.2f' % yy2), ha='center', va='bottom')


plt.xlabel('x_label__')  # 横坐标轴标题
plt.ylabel('y_label__')  # 纵坐标轴标题
plt.title('test')  # 图形标题

plt.show()

结果

在这里插入图片描述

以上是关于如何在android画分析图(例如 柱状图、趋势图、饼图)的主要内容,如果未能解决你的问题,请参考以下文章

python画柱状图 python画直方图

如何利用ggplot2画柱状图

android 开发使用最新百度地图如何画轨迹

matlab 画频率统计图(柱状图)bar hist

matlab 画频率统计图(柱状图)bar hist

D3画完整柱状图(带坐标轴标签)