MPAndroidChart饼图PieChart

之前的记账软件中,加入了GitHub上的开源项目,MPAndroid。

现在介绍一下饼状图。

首先将MPAndroidChart的jar包导入到libs中,jar包的链接可以去girhub下载,进去找不到的话把页面往下面拉拉,就有,网址如下:https://github.com/PhilJay/MPAndroidChart/releases

其中还需要nineoldandroids-2.4.0.jar这个jar包。
链接这里:http://download.csdn.net/detail/chase_java/9689747

导入以后就可以使用了。

建立一个布局文件,加入PieChart。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:id="@+id/check_income_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="收入"
        android:gravity="center"
        android:textSize="25sp" />

    <com.github.mikephil.charting.charts.PieChart
        android:padding="5dp"
        android:id="@+id/piechart"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </com.github.mikephil.charting.charts.PieChart>
</LinearLayout>

下面是一个简单的演示:

public class MainActivity extends Activity {
     

    private PieChart mChart;  
    private String[] x = new String[] { "A类事物", "B类事物", "C类事物" };  

    // 凑成100 % 100  
    private float[] y = { 10f, 60f, 30f };  

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

        mChart = (PieChart) findViewById(R.id.piechart);  

        // 图的描述  
        mChart.setDescription("在这里输入描述,右下角显示");  

        // 以3个对应数据集做测试  
        setData(x.length);  
    }  

    private void setData(int count) {  

        // 准备x"轴"数据:在i的位置,显示x[i]字符串  
        ArrayList<String> xVals = new ArrayList<String>();  

        // 真实的饼状图百分比分区。  
        // Entry包含两个重要数据内容:position和该position的数值。  
        ArrayList<Entry> yVals = new ArrayList<Entry>();  

        for (int xi = 0; xi < count; xi++) {  
            xVals.add(xi, x[xi]);  

            // y[i]代表在x轴的i位置真实的百分比占  
            yVals.add(new Entry(y[xi], xi));  
        }  

        PieDataSet yDataSet = new
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要使用 MPAndroidChart 绘制饼图,你需要进行以下步骤: 1.在你的项目中添加 MPAndroidChart 依赖。你可以在 gradle 文件中添加以下代码: ``` implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' ``` 2.在你的布局文件中添加一个 PieChart 视图: ``` <com.github.mikephil.charting.charts.PieChart android:id="@+id/pie_chart" android:layout_width="match_parent" android:layout_height="match_parent"/> ``` 3.在你的 Activity 或 Fragment 中找到这个 PieChart 视图,并为它设置一些属性: ``` PieChart pieChart = findViewById(R.id.pie_chart); pieChart.setUsePercentValues(true); // 设置使用百分比值 pieChart.getDescription().setEnabled(false); // 隐藏描述 pieChart.setExtraOffsets(5, 10, 5, 5); // 设置间距 pieChart.setDrawHoleEnabled(true); // 绘制中间的空心圆 pieChart.setHoleColor(Color.WHITE); // 设置空心圆的颜色 pieChart.setTransparentCircleRadius(61f); // 设置透明圆的半径 pieChart.setHoleRadius(58f); // 设置空心圆的半径 pieChart.setRotationAngle(0); // 设置起始角度 pieChart.setRotationEnabled(true); // 可以旋转 pieChart.setHighlightPerTapEnabled(true); // 可以高亮显示 ``` 4.为饼图添加数据。首先创建一个 ArrayList<PieEntry>,然后将每个数据添加到其中: ``` ArrayList<PieEntry> entries = new ArrayList<>(); entries.add(new PieEntry(18.5f, "Green")); entries.add(new PieEntry(26.7f, "Yellow")); entries.add(new PieEntry(24.0f, "Red")); entries.add(new PieEntry(30.8f, "Blue")); ``` 5.将数据添加到 PieDataSet 中,并为数据集设置一些属性: ``` PieDataSet dataSet = new PieDataSet(entries, "Election Results"); dataSet.setSliceSpace(3f); // 设置每个扇形之间的间距 dataSet.setSelectionShift(5f); // 设置点击时的扇形半径 dataSet.setColors(ColorTemplate.JOYFUL_COLORS); // 设置颜色 ``` 6.创建一个 PieData 对象,将数据集传递给它: ``` PieData data = new PieData(dataSet); data.setValueTextSize(10f); // 设置文字大小 data.setValueTextColor(Color.YELLOW); // 设置文字颜色 ``` 7.将 PieData 对象设置到 PieChart 中: ``` pieChart.setData(data); pieChart.invalidate(); // 刷新图表 ``` 现在,你就可以显示你的饼图了。上面的代码只是一个简单的示例,你可以根据自己的需求调整图表的属性和样式。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值