當下對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