導航:首頁 > 操作系統 > android餅狀圖

android餅狀圖

發布時間:2022-01-23 14:06:56

『壹』 如何在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餅狀圖是如何實現的

axure實現粗略餅狀圖 今天畫原型的時候想展現一個餅狀圖,axure6.5.0沒有自帶的,導入的外部庫也沒有。想起來幾天前看過的一個視頻培訓:http://v.youku.com/v_show/id_XMjUxMjYyNjE2.html,裡面在61:50左右講到一個切割圖片的用法,既然圖片可以切割,那可以

『叄』 如何根據已經得到的數據,在Android中以餅狀圖、柱狀圖、股票的那種走勢圖呈現出來

下載 officesuit 去機鋒網搜索一下就好 效果相當不錯的

『肆』 android餅狀圖內是空心的怎麼做

先定義一個GraphicalView

GraphicalView graphicalView;
然後,從chartfactory獲取

graphicalView=ChartFactory.getBarChartView(getBaseContext(), dataset, renderer, type);//柱狀圖
graphicalView=ChartFactory.getPieChartView(getBaseContext(), dataset, renderer);//餅狀圖
其中的dataset表示數據源,renderer表示渲染參數,type表示類型

設置dataset的方法--餅圖

double[] values={412.0,542.0,486.0,900.1};
CategorySeries dataset=buildCategoryDataset("測試餅圖", values);

1 protected CategorySeries buildCategoryDataset(String title, double[] values) {
2 CategorySeries series = new CategorySeries(title);
3 series.add("差", values[0]);
4 series.add("不達標", values[1]);
5 series.add("達標", values[2]);
6 series.add("優秀",values[3]);
7 return series;
8 }

設置dataset的方法--柱狀圖----柱狀圖可以有多組數據

1 String[] titles={"test"};
2 List<double[]> values=new ArrayList<double[]>();
3 values.add(new double[]{5120.0,21251.0,25610.0});
4 XYMultipleSeriesDataset dataset=buildBarDataset(titles, values);

1 protected XYMultipleSeriesDataset buildBarDataset(String[] titles, List<double[]> values) {
2 XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
3 int length = titles.length;
4 for (int i = 0; i < length; i++) {
5 CategorySeries series = new CategorySeries(titles[i]);
6 double[] v = values.get(i);
7 int seriesLength = v.length;
8 for (int k = 0; k < seriesLength; k++) {
9 series.add(v[k]);
10 }
11 dataset.addSeries(series.toXYSeries());
12 }
13 return dataset;
14 }

設置renderer的方法--餅圖

1 int[] colors={Color.BLUE,Color.GREEN,Color.MAGENTA,Color.RED};
2 DefaultRenderer renderer=buildCategoryRenderer(colors);

1 protected DefaultRenderer buildCategoryRenderer(int[] colors) {
2 DefaultRenderer renderer = new DefaultRenderer();
3
4 renderer.setLegendTextSize(20);//設置左下角表注的文字大小
5 //renderer.setZoomButtonsVisible(true);//設置顯示放大縮小按鈕
6 renderer.setZoomEnabled(false);//設置不允許放大縮小.
7 renderer.setChartTitleTextSize(30);//設置圖表標題的文字大小
8 renderer.setChartTitle("統計結果");//設置圖表的標題 默認是居中頂部顯示
9 renderer.setLabelsTextSize(20);//餅圖上標記文字的字體大小
10 //renderer.setLabelsColor(Color.WHITE);//餅圖上標記文字的顏色
11 renderer.setPanEnabled(false);//設置是否可以平移
12 //renderer.setDisplayValues(true);//是否顯示值
13 renderer.setClickEnabled(true);//設置是否可以被點擊
14 renderer.setMargins(new int[] { 20, 30, 15,0 });
15 //margins - an array containing the margin size values, in this order: top, left, bottom, right
16 for (int color : colors) {
17 SimpleSeriesRenderer r = new SimpleSeriesRenderer();
18 r.setColor(color);
19 renderer.addSeriesRenderer(r);
20 }
21 return renderer;
22 }

設置renderer的方法----柱狀圖

1 int[] colors={Color.BLUE};
2 XYMultipleSeriesRenderer renderer=buildBarRenderer(colors);
3 Type type=Type.DEFAULT;
4
5 //renderer.setZoomEnabled(false);//怎麼失效了----使用下面的方式
6 renderer.setZoomEnabled(false, false);//http://www.tiecou.com
7 setChartSettings(renderer, "我是柱狀圖的標題", "", "統計結果", 0, 6, 0, 30000, Color.GRAY, Color.LTGRAY);
8 renderer.getSeriesRendererAt(0).setDisplayChartValues(true);
9 //renderer.getSeriesRendererAt(1).setDisplayChartValues(true);
10 renderer.setXLabels(0);//設置x軸上的下標數量
11 renderer.setYLabels(10); //設置y軸上的下標數量
12 renderer.setXLabelsAlign(Align.RIGHT);
13 renderer.setYLabelsAlign(Align.LEFT);//y軸 數字表示在坐標還是右邊
14 renderer.setPanEnabled(false, false);//設置是否允許平移
15 renderer.addXTextLabel(2.0, "220kv電力線");//在指定坐標處顯示文字
16 // renderer.clearXTextLabels();//清除 labels
17 //renderer.setZoomRate(1.1f);//設置放縮比
18 renderer.setBarSpacing(1f);// 設置柱狀的間距
19 //renderer.setLabelsTextSize(30);//設置坐標軸上數字的大小
20 renderer.setXLabelsAngle(300.0f);//設置文字旋轉角度 對文字順時針旋轉
21 renderer.setXLabelsPadding(10);//設置文字和軸的距離
22 renderer.setFitLegend(true);// 調整合適的位置
復制代碼
復制代碼
1 protected XYMultipleSeriesRenderer buildBarRenderer(int[] colors) {
2 XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();
3 renderer.setAxisTitleTextSize(16);
4 renderer.setChartTitleTextSize(20);
5 renderer.setLabelsTextSize(15);
6 renderer.setLegendTextSize(15);
7 int length = colors.length;
8 for (int i = 0; i < length; i++) {
9 SimpleSeriesRenderer r = new SimpleSeriesRenderer();
10 r.setColor(colors[i]);
11 renderer.addSeriesRenderer(r);
12 }
13 return renderer;
14 }

最後將graphicalView放入指定的layout里

1 layout=(LinearLayout)findViewById(R.id.linearlayout);
2 layout.removeAllViews();
3 layout.setBackgroundColor(Color.BLACK);
4 layout.addView(graphicalView, new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));

『伍』 android中如何實現,動態的柱狀圖顯示,

有很多動態的第三方庫可以使用。例如achartengine

AChartEngine是一款基於Android的圖表繪制引擎,它為Android開發者提供了很多實用的圖表繪制工具類。

『陸』 android-MPAndroidChart餅狀圖怎麼去掉右上角顏色塊

Legend mLegend = pieChart.getLegend(); //設置比例圖
mLegend.setPosition(LegendPosition.RIGHT_OF_CHART); //最右邊顯示
// mLegend.setForm(LegendForm.LINE); //設置比例圖的形狀,默認是方形
mLegend.setXEntrySpace(7f);
mLegend.setYEntrySpace(5f);
這部分去掉

『柒』 android 餅形圖的百分比和大於100%怎麼優化

應該是布局方面的問題吧,在xml文件的ImageView有個scaleType屬性應該可以解決你的問題 android:scaleType是控制圖片如何resized/moved來匹對ImageView的size。 ImageView.ScaleType / android:scaleType值的意義區別: CENTER /center 按圖片的原來size居中顯示,當圖片長/寬超過View的長/寬,則截取圖片的居中部分顯示 CENTER_CROP / centerCrop 按比例擴大圖片的size居中顯示,使得圖片長(寬)等於或大於View的長(寬) CENTER_INSIDE / centerInside 將圖片的內容完整居中顯示,通過按比例縮小或原來的size使得圖片長/寬等於或小於View的長/寬 FIT_CENTER / fitCenter 把圖片按比例擴大/縮小到View的寬度,居中顯示 FIT_END / fitEnd 把圖片按比例擴大/縮小到View的寬度,顯示在View的下部分...

『捌』 在android裡面如何繪制一個有顏色的餅狀圖,餅狀圖的扇形區域根據輸入的數字進行變化 圖如下

參考答案 鐵杵能磨成針,但木杵只能磨成牙簽,材料不對,再努力也沒用。

『玖』 Android開發:如何實現柱狀圖或折線圖不同數值范圍(正負值)顯示不同顏色

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

這些項目都可以在GitHub 搜索到。
希望對你有所幫助!

『拾』 請問android里邊如何實現統計圖的點擊功能 chart,graph

AChartEngine試試,點擊餅狀圖時,選中部分會與其他分離。

閱讀全文

與android餅狀圖相關的資料

熱點內容
虛擬機執行命令 瀏覽:444
cctv16奧林匹克頻道加密播出 瀏覽:899
c盤微信文件夾隱私 瀏覽:229
asp壓縮mdb 瀏覽:670
node開源論壇源碼 瀏覽:8
單片機比手機晶元還貴 瀏覽:35
java課表 瀏覽:555
如何在pdf裡面修改 瀏覽:929
橙光製作器檔案框在哪個文件夾 瀏覽:991
php如何抓取網頁數據 瀏覽:642
計數器單片機 瀏覽:966
游戲aoi演算法 瀏覽:845
phpmysqlint 瀏覽:914
怎麼從appstore商城買東西 瀏覽:186
大秀直播平台源碼 瀏覽:426
java視屏 瀏覽:936
電腦中如何給程序加密 瀏覽:241
java排序容器 瀏覽:944
職稱證書在哪個app下載 瀏覽:363
四九演算法算男女 瀏覽:661