com.mysugr.MPAndroidChart:MPAndroidChart:3.1.0-mysugr-1画图

MPAndroidChart画图

导入架包,是3.1.0版本的哦。

implementation 'com.mysugr.MPAndroidChart:MPAndroidChart:3.1.0-mysugr-1'

xml布局中设置图形显示的位置,加id。

 <com.github.mikephil.charting.charts.PieChart

       android:id="@+id/pieChart"
       android:layout_width="match_parent"
       android:layout_height="match_parent"/>

Java类中的核心代码!!!

public class Paintyuan extends AppCompatActivity {
    PieChart pieChart;
    ImageView imageView;
    ArrayList<JSONObject> arrayList;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_yuan);
        
        pieChart = findViewById(R.id.pieChart);
        PieData pieData = getChartData(2, 100);
        showChart(pieChart, pieData);
    }

    public void showChart(PieChart pieChart, PieData pieData) {
        pieChart.setHoleRadius(0f);
        pieChart.setTransparentCircleRadius(0f);
        pieChart.setRotationEnabled(false);
        pieChart.setExtraOffsets(0, 12, 0, 12);
        pieChart.setData(pieData);
        Legend legend = pieChart.getLegend();
        legend.setHorizontalAlignment(Legend.LegendHorizontalAlignment.CENTER);
        legend.setVerticalAlignment(Legend.LegendVerticalAlignment.BOTTOM);
        String de = "平台上车辆违章占比";
        Description description = new Description();
        description.setText(de);
        description.setTextSize(20);
        description.setTextAlign(Paint.Align.CENTER);
        description.setPosition(900, 50);
        pieChart.setDescription(description);

    }
    public PieData getChartData(float count, float ranges) {
        ArrayList<PieEntry> xValues = new ArrayList<PieEntry>();
        xValues.add(new PieEntry(40, "有违章"));
        xValues.add(new PieEntry(60, "无违章"));
        PieDataSet pieDataSet = new PieDataSet(xValues, null);
        ArrayList<Integer> colors = new ArrayList<Integer>();
        colors.add(Color.BLUE);
        colors.add(Color.RED);
        pieDataSet.setColors(colors);
        PieData pieData = new PieData(pieDataSet);
        return pieData;
    }
}

这样
让你伤脑子的饼图就完成了!

感觉少了点,那再加个折线图吧!

   <com.github.mikephil.charting.charts.LineChart
        android:id="@+id/lc"
        android:layout_width="600dp"
        android:layout_marginLeft="50dp"
        android:layout_height="300dp"/>
public class MainActivity extends AppCompatActivity {
    private LineChart lc;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        lc = (LineChart) findViewById(R.id.lc);
        lc.setExtraOffsets(24f, 24f, 24f, 24f);
//        lc.setDescription(null);
        setLegend(); // 设置图例
        setYAxis(); // 设置Y轴
        setXAxis(); // 设置X轴
        setLineData();

    }

    private void setLegend() {
        Legend legend = lc.getLegend();
//        legend.setFormSize(0);

    }

    private void setYAxis() {
        YAxis yAxis = lc.getAxisLeft();
        yAxis.setDrawGridLines(false);
        yAxis.setAxisMaximum(10);
        yAxis.setAxisMinimum(-20);
        lc.getAxisRight().setEnabled(false);

    }
    private void setXAxis() {
        XAxis xAxis = lc.getXAxis();
        xAxis.setAxisMaximum(5);
        xAxis.setAxisMinimum(0);
        xAxis.setLabelCount(5);
        xAxis.setDrawGridLines(false);
        xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);
    }

    private void setLineData() {
        ArrayList<Entry> yValues = new ArrayList<Entry>();
        float[] arr = new float[]{-12,-2,-10,-9,-12,-10};
        for (int i = 0; i < arr.length; i++) {
            yValues.add(new Entry(i , arr[i]));
        }
        LineDataSet lineDataSet = new LineDataSet(yValues, null);
        lineDataSet.setLineWidth(2);
        lineDataSet.setColor(Color.GRAY);
        lineDataSet.setCircleColor(Color.GRAY);
        LineData lineData = new LineData(lineDataSet);
        lineData.setValueTextSize(15);
        lc.setData(lineData);

    }


}

在这里插入图片描述
第一次发博客,有些不足的地方请告知下

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值