import org.achartengine.ChartFactory;
import org.achartengine.chart.BarChart;
import org.achartengine.chart.LineChart;
import org.achartengine.chart.PointStyle;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.model.XYSeries;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import org.achartengine.renderer.XYSeriesRenderer;import android.app.Activity;
import android.graphics.Color;
import android.graphics.Paint.Align;
import android.os.Bundle;
import android.view.View;
public class TestChart extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(getPriceChart());
}
private View getPriceChart(){
// 1, 构造显示用渲染图
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
//设置横纵坐标标题
renderer.setXTitle("时间");
renderer.setYTitle("");
//设置坐标轴标题大小
renderer.setAxisTitleTextSize(12);
//设置点的大小
renderer.setPointSize(4);
renderer.setYAxisMin(0);
renderer.setXAxisMin(0);
renderer.setXAxisMax(100);
renderer.setYAxisMax(20);
renderer.setZoomButtonsVisible(true);
renderer.setPanEnabled(true);
//设置能否滑动坐标轴
renderer.setXLabels(20);
renderer.setYLabels(20);
renderer.setXLabelsAlign(Align.CENTER);//刻度线与刻度标注之间的相对位置关系
renderer.setYLabelsAlign(Align.CENTER);//刻度线与刻度标注之间的相对位置关系
//显示网格
renderer.setShowGrid(true);
//设置内边界
renderer.setBarSpacing(4);
renderer.setChartTitle("1001-烟台万华");
renderer.setChartTitleTextSize(18);
renderer.setZoomRate(1.1f);//放大的倍率
// 2,进行显示
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
XYSeries series = new XYSeries("价格" );
series.add(10, 12.43);
series.add(20, 10.49);
series.add(30, 14.43);
series.add(40, 5.66);
series.add(50, 18.43);
series.add(60, 12.43);
series.add(70, 10.49);
series.add(80, 14.43);
series.add(90, 5.66);
series.add(100, 18.43);
dataset.addSeries(series);
XYSeries series2 = new XYSeries("平均值" );
series2.add(10,12.32);
series2.add(20,11.23);
series2.add(30, 13.87);
series2.add(40, 9.54);
series2.add(50,12.32);
series2.add(60,12.32);
series2.add(70,11.23);
series2.add(80, 13.87);
series2.add(90, 9.54);
series2.add(100,12.32);
dataset.addSeries(series2);
XYSeries series3 = new XYSeries("数量" );
series3.add(10,10);
series3.add(20,4);
series3.add(30, 12);
series3.add(40, 2);
series3.add(50,16);
series3.add(60,10);
series3.add(70,4);
series3.add(80, 12);
series3.add(90, 2);
series3.add(100,16);
dataset.addSeries(series3);
// 3, 对点的绘制进行设置
XYSeriesRenderer xyRenderer = new XYSeriesRenderer();
// 3.1设置颜色
xyRenderer.setColor(Color.BLUE);
// 3.2设置点的样式
xyRenderer.setPointStyle(PointStyle.DIAMOND); //菱形
xyRenderer.setChartValuesTextSize(10);
//显示图表的值
xyRenderer.setDisplayChartValues(true);
// 3.3, 将要绘制的点添加到坐标绘制中
renderer.addSeriesRenderer(xyRenderer);
//增加第二条线
xyRenderer = new XYSeriesRenderer();
// 3.1设置颜色
xyRenderer.setColor(Color.WHITE);
// 3.2设置点的样式
xyRenderer.setPointStyle(PointStyle.TRIANGLE); //三角形
xyRenderer.setChartValuesTextSize(10); //显示图表的值
xyRenderer.setDisplayChartValues(true);
// 3.3, 将要绘制的点添加到坐标绘制中
renderer.addSeriesRenderer(xyRenderer);
//增加第三条线
xyRenderer = new XYSeriesRenderer();
// 3.1设置颜色
xyRenderer.setColor(Color.YELLOW);
// 3.2设置点的样式
xyRenderer.setChartValuesTextSize(10);
//显示图表的值
xyRenderer.setDisplayChartValues(true);
// 3.3, 将要绘制的点添加到坐标绘制中
renderer.addSeriesRenderer(xyRenderer);
//设置每个点为实心
int length = renderer.getSeriesRendererCount();
for (int i = 0; i < length - 1; i++) {
((XYSeriesRenderer) renderer.getSeriesRendererAt(i)).setFillPoints(true);//设置图上的点为实心
}
return ChartFactory.getCombinedXYChartView(getApplicationContext(), dataset, renderer, new String[]{LineChart.TYPE,LineChart.TYPE, BarChart.TYPE});
}
}
import org.achartengine.chart.BarChart;
import org.achartengine.chart.LineChart;
import org.achartengine.chart.PointStyle;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.model.XYSeries;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import org.achartengine.renderer.XYSeriesRenderer;import android.app.Activity;
import android.graphics.Color;
import android.graphics.Paint.Align;
import android.os.Bundle;
import android.view.View;
public class TestChart extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(getPriceChart());
}
private View getPriceChart(){
// 1, 构造显示用渲染图
XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
//设置横纵坐标标题
renderer.setXTitle("时间");
renderer.setYTitle("");
//设置坐标轴标题大小
renderer.setAxisTitleTextSize(12);
//设置点的大小
renderer.setPointSize(4);
renderer.setYAxisMin(0);
renderer.setXAxisMin(0);
renderer.setXAxisMax(100);
renderer.setYAxisMax(20);
renderer.setZoomButtonsVisible(true);
renderer.setPanEnabled(true);
//设置能否滑动坐标轴
renderer.setXLabels(20);
renderer.setYLabels(20);
renderer.setXLabelsAlign(Align.CENTER);//刻度线与刻度标注之间的相对位置关系
renderer.setYLabelsAlign(Align.CENTER);//刻度线与刻度标注之间的相对位置关系
//显示网格
renderer.setShowGrid(true);
//设置内边界
renderer.setBarSpacing(4);
renderer.setChartTitle("1001-烟台万华");
renderer.setChartTitleTextSize(18);
renderer.setZoomRate(1.1f);//放大的倍率
// 2,进行显示
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
XYSeries series = new XYSeries("价格" );
series.add(10, 12.43);
series.add(20, 10.49);
series.add(30, 14.43);
series.add(40, 5.66);
series.add(50, 18.43);
series.add(60, 12.43);
series.add(70, 10.49);
series.add(80, 14.43);
series.add(90, 5.66);
series.add(100, 18.43);
dataset.addSeries(series);
XYSeries series2 = new XYSeries("平均值" );
series2.add(10,12.32);
series2.add(20,11.23);
series2.add(30, 13.87);
series2.add(40, 9.54);
series2.add(50,12.32);
series2.add(60,12.32);
series2.add(70,11.23);
series2.add(80, 13.87);
series2.add(90, 9.54);
series2.add(100,12.32);
dataset.addSeries(series2);
XYSeries series3 = new XYSeries("数量" );
series3.add(10,10);
series3.add(20,4);
series3.add(30, 12);
series3.add(40, 2);
series3.add(50,16);
series3.add(60,10);
series3.add(70,4);
series3.add(80, 12);
series3.add(90, 2);
series3.add(100,16);
dataset.addSeries(series3);
// 3, 对点的绘制进行设置
XYSeriesRenderer xyRenderer = new XYSeriesRenderer();
// 3.1设置颜色
xyRenderer.setColor(Color.BLUE);
// 3.2设置点的样式
xyRenderer.setPointStyle(PointStyle.DIAMOND); //菱形
xyRenderer.setChartValuesTextSize(10);
//显示图表的值
xyRenderer.setDisplayChartValues(true);
// 3.3, 将要绘制的点添加到坐标绘制中
renderer.addSeriesRenderer(xyRenderer);
//增加第二条线
xyRenderer = new XYSeriesRenderer();
// 3.1设置颜色
xyRenderer.setColor(Color.WHITE);
// 3.2设置点的样式
xyRenderer.setPointStyle(PointStyle.TRIANGLE); //三角形
xyRenderer.setChartValuesTextSize(10); //显示图表的值
xyRenderer.setDisplayChartValues(true);
// 3.3, 将要绘制的点添加到坐标绘制中
renderer.addSeriesRenderer(xyRenderer);
//增加第三条线
xyRenderer = new XYSeriesRenderer();
// 3.1设置颜色
xyRenderer.setColor(Color.YELLOW);
// 3.2设置点的样式
xyRenderer.setChartValuesTextSize(10);
//显示图表的值
xyRenderer.setDisplayChartValues(true);
// 3.3, 将要绘制的点添加到坐标绘制中
renderer.addSeriesRenderer(xyRenderer);
//设置每个点为实心
int length = renderer.getSeriesRendererCount();
for (int i = 0; i < length - 1; i++) {
((XYSeriesRenderer) renderer.getSeriesRendererAt(i)).setFillPoints(true);//设置图上的点为实心
}
return ChartFactory.getCombinedXYChartView(getApplicationContext(), dataset, renderer, new String[]{LineChart.TYPE,LineChart.TYPE, BarChart.TYPE});
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货