當下對Java並不熟悉,也不太會用工具
就不了了之,解散後還是有在接觸到這套,但還是用不出來啊XD
最近又想做一些東西,回來學習學習
順便把當初不懂的套件用懂XD
package com.example.testchart;
import org.achartengine.ChartFactory;
import org.achartengine.GraphicalView;
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.os.Bundle;
public class MainActivity extends Activity {
private XYMultipleSeriesDataset dataset;
private XYMultipleSeriesRenderer renderer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
}
private void init() {
renderer = new XYMultipleSeriesRenderer();
renderer.setOrientation(XYMultipleSeriesRenderer.Orientation.HORIZONTAL);
renderer.setXTitle("X軸");// 設置X軸標題
renderer.setYTitle("Y軸");// 設置Y軸標題
renderer.setAxisTitleTextSize(20);// 設定軸標題文字大小
renderer.setChartTitle("標題");// 設定圖標標題
renderer.setChartTitleTextSize(30);// 設定圖表文字大小
renderer.setLabelsTextSize(18);// 設定標籤大小
renderer.setLegendTextSize(20);// 設定左下圖例文字大小 例如:第一條線、第二條線
renderer.setPointSize(10f);// 設定每個點的大小
renderer.setYAxisMin(0);// 設定Y軸最小值
renderer.setYAxisMax(15); // 設定Y軸最大值
renderer.setYLabels(10);// 設定Y軸刻度
renderer.setXAxisMax(5); // 設定X軸最大值
renderer.setShowGrid(true);// 顯示網格
// 設定X軸對應標題
renderer.addXTextLabel(1, "1月");
renderer.addXTextLabel(2, "2月");
renderer.addXTextLabel(3, "3月");
renderer.addXTextLabel(4, "4月");
// renderer.setXLabels(0);
renderer.setMargins(new int[] { 20, 20, 20, 10 });// 設定圖表的位置
dataset = new XYMultipleSeriesDataset();
addSeries();
showChart();
}
private void addSeries() {
XYSeries series = new XYSeries("第一條線");
for (int index = 1; index <= 4; index++) {
series.add(index, index * 4);
}
XYSeries series2 = new XYSeries("第二條線");
for (int index = 1; index <= 4; index++) {
series2.add(index, index * 3);
}
dataset.addSeries(series);
dataset.addSeries(series2);
}
private void showChart() {
XYSeriesRenderer seriesRenderer = new XYSeriesRenderer();
seriesRenderer.setColor(Color.BLUE);// 設定線條顏色
seriesRenderer.setPointStyle(PointStyle.DIAMOND);// 設置為菱形
seriesRenderer.setFillPoints(true);// 設定空心或實心
seriesRenderer.setDisplayChartValues(true);// 顯示數值
seriesRenderer.setChartValuesSpacing(10);// 顯示
seriesRenderer.setChartValuesTextSize(12);// 數值的文字大小
seriesRenderer.setLineWidth(1);// 線寬
XYSeriesRenderer seriesRenderer2 = new XYSeriesRenderer();
seriesRenderer2.setColor(Color.MAGENTA);
seriesRenderer2.setPointStyle(PointStyle.CIRCLE);// 設置為圓點
seriesRenderer2.setFillPoints(true);// 設定空心或實心
seriesRenderer2.setDisplayChartValues(true);// 顯示數值
seriesRenderer2.setChartValuesSpacing(10);// 顯示
seriesRenderer2.setChartValuesTextSize(25);// 數值的文字大小
seriesRenderer2.setLineWidth(3);// 線寬
renderer.addSeriesRenderer(seriesRenderer);
renderer.addSeriesRenderer(seriesRenderer2);
GraphicalView view = ChartFactory.getLineChartView(this, dataset,
renderer);
view.setBackgroundColor(Color.BLACK); // 設定背景
setContentView(view);
}
}
結果就是這樣
參考資料:
http://blog.csdn.net/tianshi1017/article/details/8659676
http://www.achartengine.org/content/javadoc/index.html
