首页 >> 大全

android achartengine 折线图例子

2023-08-19 大全 31 作者:考证青年

第1页画折线图技巧分享

是为应用而设计的绘图工具库。可用于绘制多种图标,目前该绘图工具库的最新稳定版本是0.7。

支持的图表类型:折线图、区域图、散点图、时间图、柱状图、饼状图、气泡式图表、环形图、高低交替图。

以上每种图表都可以包含多个序列, 可以将X轴以水平或垂直的形式显示,也支持很多自定义的特性。另外,图表可以作为Viewl构建,也可以作为构建这样可以被用于启动一个活动()。

以下是的效果图展示:

下面给大家分享一下关于如何使用画折线图的技巧

其实方法跟柱状图的制作差不多,但是应使用.()方法获取到。看中的代码:

class main {

final int = 2;

/** when the is first . */

> maps=>();

@

void (tate) {

super.();

// (R..main);

// 加入 “调度查询”

=new ();

map.put("name","折线图");

map.put("desc", "显示折线图");

maps.add(map);

// 构建的适配器

=new (this,maps,

.R..,// SDK库中提供的一个包含两个的

new []{"name","desc"},// maps中的两个key

new int[]{.R.id.text1,.R.id.text2}// 两个的id

);

this.();

// 监听器方法

( l, View v, int , long id) {

super.(l,v, , id);

=.(this, (),());

();

() {

= new set();

wps表格图怎么两条折线_excel折线迷你图在哪_

final int nr = 10;// 每个系列种包含10个随机数

r = new ();

for (int i = 0; i

// 新建一个系列(线条)

= new ("" + (i + 1));

for (int k = 0; k

int x=r.();// x:0-10之间的随机整数

inty=50+r.()%50;// y:50-100之间的随机整数

.add(x,y);// 往系列中加入一个随机分布的点

// 把添加了点的折线放入

.();

;

() {

// 新建一个

= new erer();

.(16);// 设置坐标轴标题文本大小

.e(20); // 设置图表标题文本大小

.(15); // 设置轴标签文本大小

.(15); // 设置图例文本大小

.(new int[] {20, 30, 15,0}); // 设置4边留白

// 设置一个系列的颜色为蓝色

r = ();

r.(Color.BLUE);

// 往中增加一个系列

.(r);

// 设置另一个系列的颜色为红色

r = ();

r.(Color.GREEN);

// 往中增加另一个系列

.(r);

;

以下是需要注意的3个方法:

1、方法

当点击“柱状图”菜单时,使用 .获得:

= .(this, (),());

2、方法

wps表格图怎么两条折线_excel折线迷你图在哪_

使用随机数构建了2个系列中的点坐标x和y:

int x=r.();// x:0-10之间的随机整数

inty=50+r.()%50;// y:50-100之间的随机整数

.add(x,y);// 往系列中加入一个随机分布的点

由于使用随机数作为点的x、y坐标,所以形成的折线图是很不规律的:

3、方法

构建了erer,在其中加入了两个。注意,这里的要用 ,而不能使用 。

折线图例子

需要用到第三方的jar包,链接地址:

class {

 123456789
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

@Override
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);String[] titles = new String[] { "当天客流密集指数", "昨日客流密集指数", "上周客流密集指数", "上月客流密集指数" };List values = new ArrayList();values.add(new double[] { 2.3, 2.5, 3.8, 6.8, 5.4, 4.4, 6.4, 6.1, 3.6,8.3, 7.2, 3.9 });values.add(new double[] { 1.2, 1.8, 4.5, 5.2, 2.5, 2.4, 2.6, 2.6, 2.3, 1.8,1.4, 1.1,3.5,4.2,7.8,5.3,2.3,1.7 });values.add(new double[] { 5.2, 5.3, 8.3, 1.2, 1.7, 2.2, 2.2, 2.4, 1.9,1.5, 9.4, 6.2,3.2,4.6,8.8,5.1,2.2,1.5 });values.add(new double[] { 3, 3.2, 1.1, 1.5, 1.9, 2.3, 2.6, 2.5, 2.2,1.8, 1.3, 1.0,3.7,4.5,7.5,5.1,2.6,1.9 });int[] colors = new int[] { Color.rgb(13, 147, 12), Color.rgb(251, 179, 30), Color.rgb(219, 219, 0),Color.rgb(255,0,0) };PointStyle[] styles = new PointStyle[] { PointStyle.CIRCLE,PointStyle.DIAMOND, PointStyle.TRIANGLE, PointStyle.SQUARE };XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles);int length = renderer.getSeriesRendererCount();for (int i = 0; i < length; i++) {/*((XYSeriesRenderer) renderer.getSeriesRendererAt(i)).setFillPoints(true);*/XYSeriesRenderer xyrenderer = (XYSeriesRenderer)renderer.getSeriesRendererAt(i);xyrenderer.setDisplayChartValues(true);xyrenderer.setFillPoints(true);}setChartSettings(renderer, "轨道交通全路网客流密集指数", "", "指数", 0.5, 18.5, 0,10, Color.LTGRAY,  Color.rgb(106, 106, 113));String pattern="00";  java.text.DecimalFormat df = new java.text.DecimalFormat(pattern);for(int j=1;j<19;j++){renderer.addXTextLabel(j, df.format(j+5)+":00");}Intent intent = ChartFactory.getLineChartIntent(this,buildBarDataset(titles,values), renderer,"客流密集指数");startActivity(intent);finish();
}

/**

* a bar using the .

* @param the

* @param the

* @ the XY bar

*/

set ([] ,

List ) {

set = new set();

int = .;

for (int i = 0; i < ; i++) {

= new ([i]);

[] v = .get(i);

int = v.;

for (int k = 0; k < ; k++) {

.add(v[k]);

.(.());

;

 123456789
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81

 /*** Sets a few of the series renderer settings.* * @param renderer the renderer to set the properties to* @param title the chart title* @param xTitle the title for the X axis* @param yTitle the title for the Y axis* @param xMin the minimum value on the X axis* @param xMax the maximum value on the X axis* @param yMin the minimum value on the Y axis* @param yMax the maximum value on the Y axis* @param axesColor the axes color* @param labelsColor the labels color*/protected void setChartSettings(XYMultipleSeriesRenderer renderer, String title, String xTitle,String yTitle, double xMin, double xMax, double yMin, double yMax, int axesColor,int labelsColor) {renderer.setChartTitle(title);renderer.setXTitle(xTitle);renderer.setYTitle(yTitle);renderer.setXAxisMin(xMin);renderer.setXAxisMax(xMax);renderer.setYAxisMin(yMin);renderer.setYAxisMax(yMax);renderer.setAxesColor(axesColor);renderer.setLabelsColor(labelsColor);}/*** Builds an XY multiple series renderer.* * @param colors the series rendering colors* @param styles the series point styles* @return the XY multiple series renderers*/
protected XYMultipleSeriesRenderer buildRenderer(int[] colors,PointStyle[] styles) {XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();setRenderer(renderer, colors, styles);return renderer;
}/*** 设置折线图* @param renderer* @param colors 背景色* @param styles  样式*/
protected void setRenderer(XYMultipleSeriesRenderer renderer, int[] colors,PointStyle[] styles) {renderer.setPointSize(5f);renderer.setLegendTextSize(22); //设置图例字号renderer.setLegendHeight(50);renderer.setChartTitleTextSize(35);// 设置图表标题文本大小renderer.setAxisTitleTextSize(20);// 设置坐标轴标题文本大小renderer.setLabelsTextSize(15);//设置轴标签文本大小 renderer.setBarSpacing(0.5);// 设置间距renderer.setXLabels(0);// 设置 X 轴不显示数字(改用我们手动添加的文字标签));//设置X轴显示的刻度标签的个数renderer.setYLabels(10);// 设置合适的刻度,在轴上显示的数量是 MAX / labelsrenderer.setMargins(new int[] { 50, 50, 10, 0 });// 图形 4 边距 设置4边留白renderer.setShowGridX(true);//设置是否在图表中显示网格renderer.setYLabelsAlign(Align.RIGHT);// 设置y轴显示的分列,默认是 Align.CENTERrenderer.setPanEnabled(false, false);// 设置x方向可以滑动,y方向不可以滑动renderer.setZoomEnabled(false, false);// 设置x,y方向都不可以放大或缩小renderer.setXLabelsColor(Color.rgb(106, 106, 113));renderer.setYLabelsColor(0, Color.rgb(106, 106, 113));//设置是否显示背景色renderer.setApplyBackgroundColor(true);//设置背景色renderer.setBackgroundColor(Color.argb(0, 220, 228, 234));//设置报表周边颜色renderer.setMarginsColor(Color.argb(0, 220, 228, 234));int length = colors.length;for (int i = 0; i < length; i++) {XYSeriesRenderer r = new XYSeriesRenderer();r.setColor(colors[i]);r.setPointStyle(styles[i]);renderer.addSeriesRenderer(r);}
}

效果图:

通过后台取到JSON,然后解析:

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了