㈠ android 做圖表(柱狀圖,折線圖)用什麼做的
這個需要導入第三方專門做圖表的庫的,不過很多都是開源的免費使用。這個在網上一搜到處都是的。
你可以參考下這篇文章:http://blog.csdn.net/hejjunlin/article/details/51774964
㈡ android 開發線型圖,柱狀圖用什麼開源的插件
為大家介紹一款圖標開源庫MPAndroidChart,它不僅可以在Android設備上繪制各種統計圖表,而且可以對圖表進行拖動和縮放操作,用起來非常靈活。MPAndroidChart同樣擁有常用的圖表類型:線型圖、餅圖、柱狀圖和散點圖。
mpandroidchartlibrary.jar包下載地址:
https://github.com/PhilJay/MPAndroidChart/releases
下面主要實現以下餅狀圖:
1.從上面的地址中下載最新mpandroidchartlibrary-2-0-8.jar包, 然後到項目的libs中
2. 定義xml文件
㈢ 如何在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
強大的圖表繪制工具,支持折線圖、面積圖、散點圖、時間圖、柱狀圖、條圖、餅圖、氣泡圖、圓環圖、范圍(高至低)條形圖、網狀圖及各種圖的結合;支持圖的拖拽縮放;支持 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中如何實現,動態的柱狀圖顯示,
有很多動態的第三方庫可以使用。例如achartengine
AChartEngine是一款基於Android的圖表繪制引擎,它為Android開發者提供了很多實用的圖表繪制工具類。
㈥ android mpandroidchart 柱狀圖 bardataset 怎麼設置字體大小
1.打開excel2013,在柱狀圖上右鍵-----設置數據系列格式,如下圖: 2.彈出設置數據系列格式選項卡,在分列間距中拖動滾動條來改變柱狀圖的柱子寬度, 可以發現左邊圖表柱子寬度發生了變化,如下圖:
㈦ android 怎麼去掉柱狀圖底下的那個說明
setRender的時候傳入""不知可否解決?不過最好不要去除,應為去掉之後這些曲線的意義就只能在其他地方另外展示了
㈧ android怎麼將柱狀圖和曲線共存
1、先選取主要數據區,插入柱形圖
於是得到了下面的圖表,但是注意到橫坐標並非「1月,2月...」,而是"1,2...",所以先來解決這個
2、右側圖表->「選擇數據」->"水平(分類)軸標簽",設置水平分類標簽的數據源
完成之後,水平橫坐標應該能正常顯示"1月,2月..."了,但是到目前為止,折線圖還不見蹤影
3、在圖表上右擊-->選擇數據源-->圖例項(系列)-->添加
按照下圖設置「系列名稱」來源,以及「系列值」來源(即添加浙江件數的數據來源)
完成之後,會發現圖表面目全非了,而且右側的縱向坐標軸也變了!
4、選中圖表中的柱狀,右擊-->更改系列圖表類型(Y)
改成折線圖
然後繼續選中折線,右擊-->設置數據系列格式-->設置為"次坐標軸",你會發現之前漂亮的圖表又回來了
5、類似的操作,添加其它幾個省份的"件數"折線圖
可能注意到了:右側的圖例中,有二組相同的省份(一組是柱狀圖的,一組是折線圖的),可以刪掉一組
6、最後調整柱狀圖跟折線的顏色,以便讓這二組圖的顏色一致
終於,得到了一個漂亮的同時帶有「折線」跟「柱狀」的圖表.
㈨ android繪制柱狀圖,如何再讓每一柱都有監聽事件
個人覺得可以繼承一個View,不論是用圖片貼還是自己畫都可以,然後添加監聽就可以。思想就是像樓上說的。不過,個人建議繼承ImageView,貼圖片還是最方便的.
㈩ 安卓如何製作柱狀圖
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);
}