導航:首頁 > 操作系統 > android畫折線圖

android畫折線圖

發布時間:2023-01-12 02:58:29

『壹』 如何在android畫分析圖(例如 柱狀圖、趨勢圖、餅圖)

目前android上圖標引擎並不少見,像aChartEngine就能很好的完成繪圖:

aChartEngine支持:1、linechart(折線圖)2、areachart(面積圖;分區圖,對比圖)3、scatterchart(散點圖)4、timechart(時間圖;進度表)5、barchart(條形圖;柱狀圖)6、piechart(餅圖)7、bubblechart(氣泡圖)8、doughnutchart(圓環圖)9、range(high-low)barchart(范圍條形圖)10、dialchart/gauge(撥號盤/壓力表)11、combined(anycombinationofline,cubicline,scatter,bar,rangebar,bubble)chart(組合圖)12、cubiclinechart(立方折線圖)

上述所有支持的圖表類型,都可以包含多個系列,都支持水平(默認)或垂直方式展示圖表,並且支持許多其他的自定義功能。所有圖表都可以建立為一個view,也可以建立為一個用於啟動activity的intent.

下面是一個餅狀圖的源碼事例:

package org.achartengine.chartdemo.demo.chart;


import org.achartengine.ChartFactory;

import org.achartengine.renderer.DefaultRenderer;


import android.content.Context;

import android.content.Intent;

import android.graphics.Color;


public class BudgetPieChart extends AbstractDemoChart {

public String getName() {

return "Budget chart";

}


public String getDesc() {

return "The budget per project for this year (pie chart)";

}

public Intent execute(Context context) {

double[] values = new double[] { 12, 14, 11, 10, 19 };//餅圖分層5塊,每塊代表的數值

int[] colors = new int[] { Color.BLUE, Color.GREEN, Color.MAGENTA, Color.YELLOW, Color.CYAN };//每塊餅圖的顏色

DefaultRenderer renderer = buildCategoryRenderer(colors);

renderer.setZoomButtonsVisible(true);//設置顯示放大縮小按鈕

renderer.setZoomEnabled(true);//設置允許放大縮小.

renderer.setChartTitleTextSize(20);//設置圖表標題的文字大小

return ChartFactory.getPieChartIntent(context, buildCategoryDataset("Project budget", values),

renderer, "Budget");//構建Intent, buildCategoryDataset是調用AbstraDemoChart的構建方法.

}


}

『貳』 android中數據的折線圖怎麼實現

推薦你幾個相關開源項目,可以根據需要自己選擇,自己畫還是比較麻煩的:MPAndroidChart強大的圖表繪制工具,支持折線圖、面積圖、散點圖、時間圖、柱狀圖、條圖、餅圖、氣泡圖、圓環圖、范圍(高至低)條形圖、網狀圖及各種圖的結合;支持圖的拖拽縮放;支持Android2.2以上,支持橫縱軸縮放,多指縮放,展現動畫、高亮、保存到sdcard、從文件讀取圖表achartengine強大的圖表繪制工具,支持折線圖、面積圖、散點圖、時間圖、柱狀圖、條圖、餅圖、氣泡圖、圓環圖、范圍(高至低)條形圖、撥號圖/表、立方線圖及各種圖的結合GraphView繪制圖表和曲線圖的View,可用於Android上的曲形圖、柱狀圖、波浪圖展示HoloGraphLibrary繪制線狀圖、柱狀圖、餅狀圖XCL-ChartsXCL-Charts基於原生的Canvas來繪制各種圖表,在設計時,盡量在保證開發效率的同時,給使用者提供足夠多的定製化能力。因此使用簡便,同時具有相當靈活的定製能力。目前支持3D/非3D柱形圖(BarChart)、3D/非3D餅圖(PieChart)、堆積圖(StackedBarChart)、面積圖(AreaChart)、折線圖(LineChart)、曲線圖(SplineChart)、環形圖(DountChart)、南丁格爾玫瑰圖(RoseChart)、儀表盤(DialChart)、刻度盤(GaugeChart)、雷達圖(RadarChart)、圓形圖(CircleChart)等圖表。其它特性還包括支持圖表縮放、手勢移動、動畫顯示效果、高密度柱形顯示、圖表分界定製線、多圖表的混合顯示及同數據源不同類型圖表切換等。EazeGraphAndroid圖表庫,支持柱狀圖、分層柱狀圖、餅狀圖、線性圖WilliamChart繪制圖表的庫,支持LineChartView、BarChartView和StackBarChartView三中圖表類型,並且支持Android2.2及以上的系統。HelloChartsforAndroid支持折線圖、柱狀圖、餅圖、氣泡圖、組合圖;支持預覽、放大縮小,滾動,部分圖表支持動畫;支持Android2.2以上這些項目都可以在GitHub搜索到。

『叄』 Android折線圖,曲線圖,柱狀圖,餅狀圖

ChartView是一個Android開源圖表庫。目前僅支持折線圖,曲線圖,柱狀圖,餅狀圖,以及折線圖和曲線圖點擊之後的狀態變化,可以選擇是畫一個圖片還是一個背景框。

折線圖和曲線圖:

餅狀圖有內圓:

餅狀圖沒有內圓:

其他同折線圖

github地址: https://github.com/Veken/LineChartView

『肆』 android折線圖

packagecom.example.testcanvasdraw;importjava.util.ArrayList;importjava.util.List;importjava.util.Random;importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.Color;importandroid.graphics.Paint;importandroid.os.Handler;importandroid.os.Message;importandroid.util.AttributeSet;importandroid.view.View;publicclassMyViewextendsView{privateintXPoint=60;privateintYPoint=260;privateintXScale=8;//刻度長度privateintYScale=40;privateintXLength=380;privateintYLength=240;privateintMaxDataSize=XLength/XScale;privateList<Integer>data=newArrayList<Integer>();privateString[]YLabel=newString[YLength/YScale];privateHandlerhandler=newHandler(){publicvoidhandleMessage(Messagemsg){if(msg.what==0x1234){MyView.this.invalidate();}};};publicMyView(Contextcontext,AttributeSetattrs){super(context,attrs);for(inti=0;i<YLabel.length;i++){YLabel[i]=(i+1)+"M/s";}newThread(newRunnable(){@Overridepublicvoidrun(){while(true){try{Thread.sleep(1000);}catch(InterruptedExceptione){e.printStackTrace();}if(data.size()>=MaxDataSize){data.remove(0);}data.add(newRandom().nextInt(4)+1);handler.sendEmptyMessage(0x1234);}}}).start();}@OverrideprotectedvoidonDraw(Canvascanvas){super.onDraw(canvas);Paintpaint=newPaint();paint.setStyle(Paint.Style.STROKE);paint.setAntiAlias(true);//去鋸齒paint.setColor(Color.BLUE);//畫Y軸canvas.drawLine(XPoint,YPoint-YLength,XPoint,YPoint,paint);//Y軸箭頭canvas.drawLine(XPoint,YPoint-YLength,XPoint-3,YPoint-YLength+6,paint);//箭頭canvas.drawLine(XPoint,YPoint-YLength,XPoint+3,YPoint-YLength+6,paint);//添加刻度和文字for(inti=0;i*YScale<YLength;i++){canvas.drawLine(XPoint,YPoint-i*YScale,XPoint+5,YPoint-i*YScale,paint);//刻度canvas.drawText(YLabel[i],XPoint-50,YPoint-i*YScale,paint);//文字}//畫X軸canvas.drawLine(XPoint,YPoint,XPoint+XLength,YPoint,paint);System.out.println("Data.size="+data.size());if(data.size()>1){for(inti=1;i<data.size();i++){canvas.drawLine(XPoint+(i-1)*XScale,YPoint-data.get(i-1)*YScale,XPoint+i*XScale,YPoint-data.get(i)*YScale,paint);}}}}
上面繪制折線部分我們還有一種方式同樣可以實現:
if(data.size()>1){Pathpath=newPath();path.moveTo(XPoint,YPoint-data.get(0)*YScale);for(inti=1;i<data.size();i++){path.lineTo(XPoint+i*XScale,YPoint-data.get(i)*YScale);}canvas.drawPath(path,paint);}

『伍』 Android動態增加數據點的折線圖,要怎麼實現

首先打開數據源(即已經製作好的EXCEL表格)--選中表格的主體部分--單擊圖表向導按鈕(顯示比例左側)--選擇「標准類型」標簽--在「圖表類型」窗口中選擇「折線圖」--完成。如果修改數據源中的數據,圖表形狀隨之改變。

『陸』 android編程中遇到問題,如何用achartengine繪制X軸上數值有反復的折線圖例如下圖

1、onListItemClick方法
當點擊「柱狀圖」菜單時,使用 ChartFactory.getLineChrtIntent獲得Intdent:
Intent intent = ChartFactory.getLineChartIntent(this, getDataset(),getRenderer());
2、getDataset方法
使用隨機數構建了2個系列中的點坐標x和y:
int x=r.nextInt()%10;// x:0-10之間的隨機整數
inty=50+r.nextInt()%50;// y:50-100之間的隨機整數
series.add(x,y);// 往系列中加入一個隨機分布的點
由於使用隨機數作為點的x、y坐標,所以形成的折線圖是很不規律的
3、getRenderer方法
構建了XYMultipleSeriesRenderer,在其中加入了兩個Series。注意,這里的Series要用XYSeriesRenderer ,而不能使用 SimpleSeriesRenderer。

『柒』 Android怎麼做數據折線圖

HoloGraphLibrary
項目地址:https://github.com/Androguide/HoloGraphLibrary
簡介:這是一個十分簡單的圖表控制項,源碼量在3千行左右。使用簡單,項目自帶sample作為使用指導。

MPAndroidChart
項目地址:https://github.com/PhilJay/MPAndroidChart
簡介:與Holo相比要復雜和強大很多,代碼量在4萬行左右。不過帶的例子有了很好的幫助,我們用起來不算難。餅圖帶很炫的載入動畫,如果對界面要求高交互性好,推薦此控制項。

閱讀全文

與android畫折線圖相關的資料

熱點內容
usb藍牙android 瀏覽:405
伺服器顯示error1什麼意思 瀏覽:708
python代碼精簡 瀏覽:457
文件加密了怎麼找到了 瀏覽:193
jellyfin插件怎麼選擇主伺服器 瀏覽:836
asp用戶注冊源碼 瀏覽:48
什麼是照片壓縮文件 瀏覽:392
java調用js代碼 瀏覽:979
崑山市民app怎麼修改身份信息 瀏覽:779
php登陸次數 瀏覽:744
python字元轉成數字 瀏覽:822
海川用的是什麼伺服器 瀏覽:376
口才是練出來的pdf 瀏覽:458
雲伺服器哪個公司性價比高 瀏覽:517
源碼論壇打包 瀏覽:558
php怎麼做成word 瀏覽:692
python批量生成密鑰 瀏覽:492
程序員要不要考社區人員 瀏覽:150
app的錢怎麼充q幣 瀏覽:814
android銀行卡識別 瀏覽:756