MPAndroidChart饼图PieChart

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

现在介绍一下饼状图。

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

其中还需要nineoldandroids-2.4.0.jar这个jar包。
链接这里:http://download.youkuaiyun.com/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
### 使用 MPAndroidChart 绘制 MPAndroidChart 是 Android 平台上广泛使用的开源表库之一,支持多种类型的表展示,其中包括。为了创建一个简单的应用,开发者可以遵循以下方法来设置和配置 MPAndroidChart 库。 #### 添加依赖项 首先,在项目的 `build.gradle` 文件中添加 MPAndroidChart 的依赖: ```gradle dependencies { implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' } ``` 确保同步项目以下载并安装所需的库文件[^1]。 #### 初始化布局文件 接着定义用于显示表的 XML 布局资源文件,通常是在 activity_main.xml 中加入如下代码片段: ```xml <com.github.mikephil.charting.charts.PieChart android:id="@+id/piechart" android:layout_width="match_parent" android:layout_height="wrap_content"/> ``` 这会为后续操作提供一个容器以便放置实际的数据视。 #### 编写 Java/Kotlin 代码 最后一步就是在 Activity 或 Fragment 类里编写逻辑部分,初始化 PieChart 对象,并填充数据集以及自定义样式属性等。下面给出一段 Kotlin 示例代码说明如何完成这些工作: ```kotlin import com.github.mikephil.charting.data.PieData import com.github.mikephil.charting.data.PieDataSet import com.github.mikephil.charting.data.PieEntry // ... other imports ... class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val pieChart = findViewById<PieChart>(R.id.piechart) // 设置描述文字为空 pieChart.description.isEnabled = false // 创建条目列表 val entries = listOf( PieEntry(25f, "Label A"), PieEntry(37f, "Label B"), PieEntry(18f, "Label C"), PieEntry(20f, "Label D") ) // 构建数据集合 val dataSet = PieDataSet(entries, "") // 定义颜色数组 val colors = intArrayOf(Color.rgb(255, 63, 97), Color.rgb(255, 193, 7), Color.rgb(255, 143, 0), Color.rgb(10, 132, 255)) // 将颜色应用于数据集中 dataSet.colors = colors.asList() // 启用数值标签 dataSet.valueTextColor = Color.BLACK dataSet.valueTextSize = 16f // 构造最终要传递给表的数据对象 val data = PieData(dataSet) // 把准备好的数据赋值给表控件 pieChart.data = data // 刷新界面使更改生效 pieChart.invalidate() // 可选:启用旋转动画效果 pieChart.animateY(1400) } } ``` 通过上述步骤就可以成功地利用 MPAndroidChart 在应用程序内呈现出美观实用的了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值