可以根據x和y軸上的數據繪製Android中的任何圖形條形圖如何在Android中以編程方式繪製條形圖?
4
A
回答
6
charts4j是另一個很好的圖表API。它使用Google圖表服務器生成圖表並將其作爲圖像返回給您。
3
我已經在過去成功使用過AndroidPlot來做線圖,但它們也支持條形圖。你可以給這個鏡頭。
4
我認爲這librairy可以幫助你:achartengine
2
public class BarchartsampleActivity extends Activity {
/** Called when the activity is first created. */
static XYMultipleSeriesDataset dataset;
static XYMultipleSeriesRenderer renderer;
static XYSeriesRenderer rendererSeries;
static CategorySeries series;
static GraphicalView mChartView;
String xvalstring1,xvalstring2,xvalstring3,xvalstring4,xvalstring5;
int xvalint1,xvalint2,xvalint3,xvalint4,xvalint5;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LinearLayout layout = (LinearLayout) findViewById(R.id.linearlayout);
Intent intent=getIntent();
xvalstring1=intent.getStringExtra("xvalstring1").toString().trim();
xvalstring2=intent.getStringExtra("xvalstring2").toString().trim();
xvalstring3=intent.getStringExtra("xvalstring3").toString().trim();
xvalstring4=intent.getStringExtra("xvalstring4").toString().trim();
xvalstring5=intent.getStringExtra("xvalstring5").toString().trim();
xvalint1=Integer.parseInt(xvalstring1);
xvalint2=Integer.parseInt(xvalstring2);
xvalint3=Integer.parseInt(xvalstring3);
xvalint4=Integer.parseInt(xvalstring4);
xvalint5=Integer.parseInt(xvalstring5);
String[] titles = new String[] { "USER INPUTS" };
List<double[]> x = new ArrayList<double[]>();
x.add(new double[] { 1, 2, 3, 4, 5});
List<double[]> values = new ArrayList<double[]>();
values
.add(new double[] { xvalint1,xvalint2,xvalint3,xvalint4,xvalint5 });
dataset = new XYMultipleSeriesDataset();
renderer = new XYMultipleSeriesRenderer();
renderer.setChartTitle("USER INPUTS");
renderer.setXTitle("X");
renderer.setYTitle("Y");
renderer.setXLabelsAlign(Align.RIGHT);
renderer.setYLabelsAlign(Align.RIGHT);
renderer.setXAxisMin(0);
renderer.setXAxisMax(10);
renderer.setYAxisMin(0);
renderer.setYAxisMax(40);
renderer.setClickEnabled(false);
renderer.setExternalZoomEnabled(false);
renderer.setZoomButtonsVisible(true);
renderer.setPanLimits(new double[] { 0,5,0,100 });
renderer.setZoomLimits(new double[] { -10, 20, -10, 40 });
renderer.setShowGrid(true);
/*renderer.setPanEnabled(false, false);
renderer.setZoomEnabled(false, false);*/
renderer.setBarSpacing(1.5);
renderer.setLabelsColor(Color.BLUE);
renderer.setAxisTitleTextSize(16);
renderer.setChartTitleTextSize(20);
renderer.setLabelsTextSize(15);
renderer.setLegendTextSize(15);
renderer.setMargins(new int[] {20, 30, 15, 20});
renderer.setBackgroundColor(Color.GREEN);
renderer.setMarginsColor(Color.GREEN);
rendererSeries = new XYSeriesRenderer();
rendererSeries.setColor(Color.GREEN);
rendererSeries.setDisplayChartValues(true);
renderer.addSeriesRenderer(rendererSeries);
if (mChartView == null) {
Log.d("Oncreate ", "if (mChartView == null)");
mChartView = ChartFactory.getBarChartView(this, mDataset(titles,
x, values), renderer, Type.DEFAULT);
layout.addView(mChartView, new LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
} else {
// mChartView.repaint();
Log.d("Oncreate ", "if (mChartView != null)");
}
}
private XYMultipleSeriesDataset mDataset(String[] titles,
List<double[]> xValues, List<double[]> yValues) {
// TODO Auto-generated method stub
XYMultipleSeriesDataset dataset1 = new XYMultipleSeriesDataset();
addXYSeries(dataset1, titles, xValues, yValues, 0);
return dataset1;
}
private void addXYSeries(XYMultipleSeriesDataset dataset, String[] titles,
List<double[]> xValues, List<double[]> yValues, int scale) {
// TODO Auto-generated method stub
int length = titles.length;
for (int i = 0; i < length; i++) {
XYSeries series = new XYSeries(titles[i], scale);
double[] xV = xValues.get(i);
double[] yV = yValues.get(i);
int seriesLength = xV.length;
for (int k = 0; k < seriesLength; k++) {
series.add(xV[k], yV[k]);
}
dataset.addSeries(series);
}
}
}
相關問題
- 1. Android:以編程方式在佈局視圖上繪製形狀
- 2. 如何在android中以編程方式創建方形圖形?
- 3. 如何在javascript中以編程方式繪製矩形框
- 4. 如何以編程方式在Visio中繪製流程圖
- 5. 如何在Android上繪製條形圖
- 6. 如何在Android應用程序中繪製堆疊條形圖
- 7. 以編程方式爲Android繪製形狀
- 8. 如何以編程方式繪製三角形
- 9. 如何在android中以編程方式繪製下面的圖像?
- 10. 如何在Android中以圓形圖案的方式繪製文字到視圖
- 11. 如何在gnuplot中繪製條形圖?
- 12. 如何以編程方式繪製UIIMage的直方圖?
- 13. 如何在Qt中以圖形方式繪製曲風?
- 14. 在C++中以圖形方式繪製頂點用於圖形
- 15. 如何在android中繪製條形圖和餅圖?
- 16. Android的繪製形狀編程位圖
- 17. 如何以編程方式讀取條形碼圖像?
- 18. 在Android中以編程方式刪除背景可繪製
- 19. android添加圖像以編程方式繪製
- 20. 如何在Android中繪製圖形?
- 21. 以編程方式在Android中創建平行四邊形繪圖
- 22. 如何以編程方式繪製表視圖
- 23. 如何以編程方式創建圖層列表可繪製?
- 24. 如何以編程方式繪製組織結構圖?
- 25. 以編程方式繪製iOS 7樣式的圓形
- 26. 以編程方式在Anylogic中繪製圖像
- 27. 在以編程方式添加的子視圖中繪製?
- 28. 以編程方式在matplotlib中繪製疊加的偏移圖
- 29. 在android中繪製圖形
- 30. 需要繪製一個條形圖(以百分方式)GGPLOT2
一些解釋可能有助於人們理解此代碼 – SeanC