如何在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的构建方法.
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画分析图(例如 柱状图、趋势图、饼图)的主要内容,如果未能解决你的问题,请参考以下文章