MPAndroidChart-----折线图,饼状图,条形图

这里使用的是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<Integer> 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<String> 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<Integer> 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<BarEntry> 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<String> 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<Entry> 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<String> 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<String> xValues=new ArrayList<String>();
//        for (int i= 0;i<count;i++){
//            xValues.add(i+"");
//        }
//        ArrayList<BarEntry> yValues=new ArrayList<BarEntry>();
//        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<BarDataSet> barDataSets=new ArrayList<BarDataSet>();
//        barDataSets.add(barDataSet);
//        BarData barData=new BarData(xValues,barDataSet);
//        return barData;
//    }
}


猜你喜欢

转载自blog.csdn.net/aichilubiantan/article/details/79753783