这里使用的是2.1.5版本的插件包,有些功能还没有.
这里只是简单的实现图形,并没有什么高深的使用方法.
public class MainActivity extends AppCompatActivity {
private PieChart day_fragment_bar_chart;
private PieDataSet mPieDataSet;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
day_fragment_bar_chart =(PieChart) findViewById(R.id.day_fragment_bar_chart);//进行控件的绑定
/*PieChart圆饼图实现*/
day_fragment_bar_chart.setUsePercentValues(true); //设置为可以显示百分比————只是数值变成百分比形式,没有百分比符号
day_fragment_bar_chart.setDescription("环境因素"); //设置对这张图的描述
day_fragment_bar_chart.setDescriptionPosition(120,50); //设置描述的位置
ArrayList colors=new ArrayList<>(); //设置colors的ArrayList
colors.add(Color.rgb(23,214,159)); //往其中添加颜色
colors.add(Color.rgb(245,166,35));
colors.add(Color.rgb(184,233,134));
colors.add(Color.rgb(184,155,134));new ArrayList<>(); //设置饼状图的条目,也就是添加数据.
pieEntries.add(new Entry(300f,0));
pieEntries.add(new Entry(200f,1));
pieEntries.add(new Entry(100f,2));
pieEntries.add(new Entry(50f,3));
mPieDataSet=new PieDataSet(pieEntries,""); //将数据添加好后,先传入DataSet中
mPieDataSet.setValueFormatter(new PercentFormatter()); //添加百分比符号
mPieDataSet.setColors(colors); //这句一定要放在new PieDataSet后面,不然获取不到mPieDataset;
mPieDataSet.setValueTextSize(18f); //设置图里字体的大小
day_fragment_bar_chart.setHoleRadius(0); //设置为实心圆
ArrayList name=new ArrayList<>(); //设置X轴的名称
name.add("Co2");
name.add("PM25");
name.add("Light");
name.add("Humidy");
PieData pieData=new PieData(name,mPieDataSet); //将name和pieDataSet的数据传入pieData中.
day_fragment_bar_chart.setData(pieData); //视图和数据绑定
以下是剩下两个图实现的代码,区别只是在传入数据时的泛型不同
,还有在声明控件时的类型有所不同而已.
/*BarChart柱状图实现*/
// ArrayList colors=new ArrayList<>();
// colors.add(Color.rgb(133,245,79));
// colors.add(Color.rgb(235,127,131));
// colors.add(Color.rgb(153,165,179));
// colors.add(Color.rgb(233,125,139));
// ArrayList barEntries=new ArrayList<>();
// barEntries.add(new BarEntry(66f,0));
// barEntries.add(new BarEntry(64f,1));
// barEntries.add(new BarEntry(11f,2));
// barEntries.add(new BarEntry(35f,3));
// BarDataSet barDataSet=new BarDataSet(barEntries,"data");
// barDataSet.setColors(colors);
// day_fragment_bar_chart.setVerticalScrollBarEnabled(false);
// day_fragment_bar_chart.setPinchZoom(false);
//
// day_fragment_bar_chart.setDrawBarShadow(false);
//
// day_fragment_bar_chart.setDrawGridBackground(false);
// ArrayList xData=new ArrayList<>();
// xData.add("huanjing");
// xData.add("CO2");
// xData.add("light");
// xData.add("pm25");
// BarData datat=new BarData(xData,barDataSet);
// day_fragment_bar_chart.setData(datat);
/*LineChart折线图实现实现*/
// //getBarData(x轴坐标个数,x对应的值既Y值)
// ArrayList yValues=new ArrayList<>();
// yValues.add(new BarEntry(44f,0));
// yValues.add(new BarEntry(45f,1));
// yValues.add(new BarEntry(46f,2));
// LineDataSet yValue=new LineDataSet(yValues,"Data");
// ArrayList xValues=new ArrayList<>();
// xValues.add("nihao");
// xValues.add("zaijian");
// xValues.add("baibai");
// LineData xValue=new LineData(xValues,yValue);
// day_fragment_bar_chart.setData(xValue);
// day_fragment_bar_chart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
}
// private void showBarChart(BarChart barChart,BarData barData){
// barChart.setData(barData);
// barChart.getXAxis().setLabelsToSkip(50);
// barChart.setDescriptionPosition(100,20);
// barChart.setDescription("nihao");
// barChart.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);
// }
// private BarData getmBarData(int count,float range){
// ArrayList xValues=new ArrayList();
// for (int i= 0;i yValues=new ArrayList();
// for (int i=1;i<5;i++){
// float value=(float)(Math.random()*range/*100以内随机数*/)+3;
// yValues.add(new BarEntry(value,i));
// }
// BarDataSet barDataSet=new BarDataSet(yValues,"环境站台");
// ArrayList barDataSets=new ArrayList();
// barDataSets.add(barDataSet);
// BarData barData=new BarData(xValues,barDataSet);
// return barData;
// }
}