日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AChartEngine绘制图形

發布時間:2025/3/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AChartEngine绘制图形 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AChartEngine是Android作圖的方法之一,要使用AChartEngine,首先下載AChartEngine,按照以下方法將其jar包添加到工程中:

1、將achartengine-1.1.0.jar文件復制到工程的libs文件夾下;

2、在Eclipse中選中工程,按F5刷新;

3、在Eclipse中選中libs文件夾下的achartengine-1.1.0.jar,右鍵點擊Build Path-->Add to Build Path。

然后在Manfest文件中加入AChartEngine繪圖的Activity:

<activity android:name = "org.achartengine.GraphicalActivity" />

最后是編寫java文件:

package com.hzhi.chartdemo;import org.achartengine.ChartFactory; import org.achartengine.chart.BarChart.Type; 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.os.Bundle; import android.app.Activity; import android.content.Intent; import android.graphics.Color; import android.view.Menu;public class MainActivity extends Activity {// 數據值double[] dx = new double[]{1.00,2.00,3.00,4.00,5.00,6.00,7.00,8.00,9.00,10.00}; double[] dy = new double[]{5.35,3.67,5.98,9.88,7.21,6.12,5.05,6.44,5.41,9.98}; @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);DrawChart();}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}public void DrawChart(){double x,y;
// 定義XYMultipleSeriesRendererXYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();// 定義XYMultipleSeriesDatasetXYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();// 定義XYSeriesRendererXYSeriesRenderer xyRenderer = new XYSeriesRenderer();// 定義XYSeriesXYSeries series = new XYSeries("DATA_01");// 將數據加入series for (int i=0; i<10; i++){x = dx[i];y = dy[i];series.add(x,y);} // 將series加入datasetdataset.addSeries(series);// 設置系列顏色xyRenderer.setColor(Color.YELLOW);// 設置系列點樣式xyRenderer.setPointStyle(PointStyle.SQUARE);// 設置系列點寬度xyRenderer.setPointStrokeWidth(10);// 設置系列點樣式xyRenderer.setLineWidth(5);// 將xyRenderer加入rendererrenderer.addSeriesRenderer(xyRenderer);// 設置圖表標題renderer.setChartTitle("AChartEngine DEMO");renderer.setChartTitleTextSize(30);// 設置圖表標題X,Y軸的標題及樣式renderer.setXTitle("X VALUES"); renderer.setYTitle("Y VALUES");renderer.setAxisTitleTextSize(30); renderer.setYLabelsPadding(20);// 設置坐標軸數值的字體renderer.setLabelsTextSize(30);// 坐標軸的最大、最小值renderer.setXAxisMax(10);renderer.setXAxisMin(0);renderer.setYAxisMax(10);renderer.setYAxisMin(0);// 設置圖表背景顏色renderer.setBackgroundColor(Color.BLACK);renderer.setApplyBackgroundColor(true);// 設置圖表的Margins數組(1.上,2.左,3.下,4.右) int[] m = new int[]{80,80,20,20};renderer.setMargins(m);// 是否顯示圖例renderer.setShowLegend(false);// 顯示網格renderer.setShowGrid(true);// 網格顏色renderer.setGridColor(Color.WHITE);// 繪制曲線圖Intent intent = ChartFactory.getLineChartIntent(this, dataset, renderer);startActivity(intent);}}

由于顯示的是org.achartengine.GraphicalActivity,所以在onCreate(Bundle savedInstanceState)方法中,刪掉setContentView()語句,用繪圖函數DrawChart()替代。

DrawChart()首先定義了幾個變量。XYMultipleSeriesRenderer是整個圖形,XYSeriesRenderer是圖形里面的一個系列;XYMultipleSeriesDataset是整個圖形的數據集,XYSeries是圖形里面一個系列的數據集。

首先將多組成對的X值和Y值加入XYSeries,再將XYSeries加入XYMultipleSeriesDataset。然后設置XYSeriesRenderer的一些屬性,再將設置好的XYSeriesRenderer加入XYMultipleSeriesRenderer。如果有多個系列,可以重復上述過程,只要保證一個XYSeries對應一個XYSeriesRenderer即可。最后設置XYMultipleSeriesRenderer的一些屬性,即整個圖形的屬性。

設置好以后,用ChartFactory.getLineChartIntent()函數繪制曲線圖。如果繪制條形圖,用getBarChartIntent(),繪制餅圖用getPieChartIntent(),還有其他一些圖形,就不一一例舉了。

繪制出的圖形如下:

?

?

總結

以上是生活随笔為你收集整理的AChartEngine绘制图形的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。