❶ 安卓如何製作柱狀圖
android畫柱狀圖
package org.achartengine.chartdemo.demo.chart;
import org.achartengine.ChartFactory;
import org.achartengine.chart.BarChart.Type;
import org.achartengine.chartdemo.demo.R;
import org.achartengine.model.RangeCategorySeries;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.renderer.SimpleSeriesRenderer;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.Paint.Align;
import android.os.Bundle;
import android.view.View;
public class TemperatureChart extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
double[] minValues = new double[]{55,50,40,30,20,20,30,40,50,55};
double[] maxValues =new double[]{85,95,100,95,85,85,95,100,95,85};
// 用於 保存點集數據 ,包括每條曲線的X,Y坐標
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();//使用與柱狀圖
RangeCategorySeries series = new RangeCategorySeries("您當月的消費記錄");// 括弧內為圖表底部的文字
for (int k = 0; k < minValues.length; k++) {
series.add(minValues[k], maxValues[k]);
}
dataset.addSeries(series.toXYSeries());
int[] colors = new int[] { Color.CYAN };// 青色藍綠色
= buildBarRenderer(colors);
setChartSettings(renderer, "標題", "x",
"y", 0.5, 12.5, 0, 150, Color.GRAY, Color.LTGRAY);// 畫筆的顏色預先定義成淺灰色
renderer.setBarSpacing(0.01);//設置間距
renderer.setXLabels(0);//設置 X 軸不顯示數字(改用我們手動添加的文字標簽));//設置X軸顯示的刻度標簽的個數
renderer.setYLabels(15);// 設置合適的刻度,在軸上顯示的數量是 MAX / labels
renderer.setMargins(new int[] { 30, 70, 10, 0 });//圖形 4 邊距 設置4邊留白設置圖表的外邊框
renderer.setYLabelsAlign(Align.RIGHT);//設置y軸顯示的分列,默認是 Align.CENTER
renderer.setPanEnabled(true, false);//設置x方向可以滑動,y方向不可以滑動
renderer.setZoomEnabled(false,false);//設置x,y方向都不可以放大或縮小
SimpleSeriesRenderer r = renderer.getSeriesRendererAt(0);
r.setDisplayChartValues(true);//設置是否在主題上方顯示值
r.setChartValuesTextSize(24);//柱體上方字的大小
r.setChartValuesSpacing(3);//柱體上方字的與柱體頂部的距離
r.setGradientEnabled(true);
r.setGradientStart(20, Color.BLUE);
r.setGradientStop(100, Color.GREEN);
View mchartView =ChartFactory.getRangeBarChartView(TemperatureChart.this, dataset, renderer,
Type.DEFAULT);
setContentView(mchartView);
}
protected (int[] colors) {
= new XYMultipleSeriesRenderer();
renderer.setAxisTitleTextSize(16);
renderer.setChartTitleTextSize(20);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
int length = colors.length;
for (int i = 0; i < length; i++) {
SimpleSeriesRenderer r = new SimpleSeriesRenderer();
r.setColor(colors[i]);
renderer.addSeriesRenderer(r);
}
return renderer;
}
protected void setChartSettings(, String title, String xTitle,
String yTitle, double xMin, double xMax, double yMin, double yMax, int axesColor,
int labelsColor) {
renderer.setChartTitle(title);
renderer.setXTitle(xTitle);
renderer.setYTitle(yTitle);
renderer.setXAxisMin(xMin);
renderer.setXAxisMax(xMax);
renderer.setYAxisMin(yMin);
renderer.setYAxisMax(yMax);
renderer.setAxesColor(axesColor);
renderer.setLabelsColor(labelsColor);
}
❷ android繪制柱狀圖,如何再讓每一柱都有監聽事件
個人覺得可以繼承一個View,不論是用圖片貼還是自己畫都可以,然後添加監聽就可以。思想就是像樓上說的。不過,個人建議繼承ImageView,貼圖片還是最方便的.
❸ 如何在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使用grah畫柱狀圖,怎樣設置橫坐標標題的大小
第一步:
獲取Android設備的屏幕大小
第二步:
在View對象中使用Canvas繪制藍色邊框與白色背景XY軸兩條線,代碼如下
第三步:
繪制柱狀圖標題
第四步:
根據數據集計算出每個系列數據所佔X軸的大小,來繪制X 數據名稱
第五步:
根據數據集計算出數據單元大小,並將數據單元映射為像素單元,繪制出標尺單位與
背景虛線
第六步:
根據數據集的值來計算出柱狀圖的高度,以及柱狀圖的寬度大小,映射為像素值以後
完成繪制。
程序效果圖:
技術點詳解:
在View中獲取Android設備屏幕大小的方法為:
[java] view plain
// get default screen size from system service
WindowManager wm = (WindowManager) this.getContext().getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
int width = display.getWidth();
在Activity中獲取Android設備屏幕大小的方法為:
[java] view plain
DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int height = displaymetrics.heightPixels;
int wwidth = displaymetrics.widthPixels;
計算X軸中每個系列所佔大小的代碼為:
[java] view plain
int count = series.getSeriesCount();
int xUnit = (width - 2 - xOffset)/count;
其中xOffset, yOffset值計算公式如下:
[java] view plain
int xOffset = (int)(width * 0.1);
int yOffset = (int)(height * 0.1);
計算每個系類中,每個柱狀圖之間縫隙大小的為:
[java] view plain
int barWidth = (int)(xUnit/Math.pow(itemList.size(),2));
int startPos = xOffset + 2 + xPadding + xUnit*i;
int interval = barWidth/2;
其中barWidth表示每個柱狀矩形的寬度,interval表示同一數據系列中表示
每個矩形之間的間隔。
❺ 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
以上
❻ android 做圖表(柱狀圖,折線圖)用什麼做的
這個需要導入第三方專門做圖表的庫的,不過很多都是開源的免費使用。這個在網上一搜到處都是的。
你可以參考下這篇文章:http://blog.csdn.net/hejjunlin/article/details/51774964
❼ 柱狀圖怎麼做
操作方法如下:
1、打開一個需要做柱狀圖的數據表。
相關介紹:
Microsoft Office是一套由微軟公司開發的辦公軟體套裝,它可以在Microsoft Windows、Windows Phone、Mac系列、iOS和Android等系統上運行。與其他辦公室應用程序一樣,它包括聯合的伺服器和基於互聯網的服務。
❽ android 開發線型圖,柱狀圖用什麼開源的插件
為大家介紹一款圖標開源庫MPAndroidChart,它不僅可以在Android設備上繪制各種統計圖表,而且可以對圖表進行拖動和縮放操作,用起來非常靈活。MPAndroidChart同樣擁有常用的圖表類型:線型圖、餅圖、柱狀圖和散點圖。
mpandroidchartlibrary.jar包下載地址:
https://github.com/PhilJay/MPAndroidChart/releases
下面主要實現以下餅狀圖:
1.從上面的地址中下載最新mpandroidchartlibrary-2-0-8.jar包, 然後到項目的libs中
2. 定義xml文件
❾ 請教android有沒有畫柱形圖讀例子
帕累托圖(Pareto Chart),又稱柏拉圖、主次因素排列圖等,是質量管理七大手法之一。之所以叫這個名字,是因為在概念上與帕雷托法則(Pareto principle)有關。在質量管理中,大多數的損失是由少數幾個關鍵的質量問題引起的,而這些這些質量問題,往往又是少數幾個關鍵的缺陷原因所導致的。使用帕累托圖,可以直觀地將影響質量問題的主要因素呈現出來,從而方便對質量問題作進一步的改進。帕累托圖中包含一個柱形圖和一個折線圖,有左右兩個縱坐標,及一個橫坐標。左邊縱軸表示缺陷原因的頻數,右邊縱軸表示缺陷原因的累計頻率,橫軸表示影響質量的各項因素,按其影響大小,從左至右依次排列。直方柱高度表示因素影響大小,折線表示各項累計頻率的連線。二、帕累托圖製作假設我們已經在wps表格中製作出一個如下的產品缺陷原因次數分布表。下面我們根據這些數據來製作一個帕累托圖。先呈上最後完成的效果:具體步驟:1、選中單元格 B4:F11,點擊「插入→圖表」,「圖表類型」選擇「柱形圖」,然後點「下一步」。2、點擊「系列」選項卡,刪除「累計頻數」和「百分比」兩個系列。然後點擊「完成」。此時圖表的樣子:3、選中圖表,點擊「...帕累托圖(Pareto Chart),又稱柏拉圖、主次因素排列圖等,是質量管理七大手法之一。之所以叫這個名字,是因為在概念上與帕雷托法則(Pareto principle)有關。在質量管理中,大多數的損失是由少數幾個關鍵的質量問題引起的,而這些這些質量問題,往往又是少數幾個關鍵的缺陷原因所導致的。使用帕累托圖,可以直觀地將影響質量問題的主要因素呈現出來,從而方便對質量問題作進一步的改進。帕累托圖中包含一個柱形圖和一個折線圖,有左右兩個縱坐標,及一個橫坐標。左邊縱軸表示缺陷原因的頻數,右邊縱軸表示缺陷原因的累計頻率,橫軸表示影響質量的各項因素,按其影響大小,從左至右依次排列。直方柱高度表示因素影響大小,折線表示各項累計頻率的連線。二、帕累托圖製作假設我們已經在wps表格中製作出一個如下的產品缺陷原因次數分布表。下面我們根據這些數據來製作一個帕累托圖。先呈上最後完成的效果:具體步驟:1、選中單元格 B4:F11,點擊「插入→圖表」,「圖表類型」選擇「柱形圖」,然後點「下一步」。2、點擊「系列」選項卡,刪除「累計頻數」和「百分比」兩個系列。然後點擊「完成」。此時圖表的樣子:3、選中圖表,點擊「圖表工具」選項卡,在下拉列表中選擇「系列『累計百分比』」點擊「更改圖表類型」。在彈出的「圖表類型」窗口中,選擇「折線圖」下第二行的第一個圖表(數據點折線圖),點擊「確定」。4、點擊「設置所選內容格式」按鈕,在彈出窗口中點擊「坐標軸」選項卡,在「系列繪制在」組中,選擇「次坐標軸」。5、點擊「數據標志」選項卡,在「數據標簽包括」組中,勾選「值」。然後在「標簽位置」中選擇「上方」。此時,帕累圖已基本繪制完成: