MPAndroidChart简单使用测试

 1.github地址

 https://github.com/PhilJay/MPAndroidChart#examples

2.在build.gradle中加入 

implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'

3.xml布局中的定义

<com.github.mikephil.charting.charts.LineChart
    android:id="@+id/cht_Line"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

 

4.java代码部分,我测试显示一段时间内的温度信息,下面代码我注释了真实数据,只是简单的显示了随意的数据。

 

public class BlankFragment extends Fragment {
private final String TAG="BlankFragment";
  

    private LineChart chart;
    List<Entry>list=new ArrayList<>();
    List<String>listt=new ArrayList<>();
    private LineChart line;

    public static BlankFragment newInstance() {
        return new BlankFragment();
    }

    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
                             @Nullable Bundle savedInstanceState) {
        Log.d(TAG, "onCreateView: ");
        if (view == null) {
            view = inflater.inflate(R.layout.blank_fragment, container, false);
/* 
            temperatureDataBase = Room.databaseBuilder(getContext(), TemperatureDataBase.class, "temperature_database")
                    //强制要求在主线程运行(真实环境中不使用)
                    .allowMainThreadQueries()
                    .build();
            temperatureDao = temperatureDataBase.getTemperatureDao ();

            line = (LineChart) view.findViewById(R.id.cht_Line);

            List<Temperature> ls = temperatureDao.getTop10Temperature();

            int index = 0;
            for (Temperature t : ls
            ) {
                Temperature temperature = ls.get(index);
                listt.add(temperature.getCreateDate());
                float tm = temperature.getTemperature();
                list.add(new Entry(index, tm));
                index++;
            }
*/
 line = (LineChart) view.findViewById(R.id.cht_Line);
           list.add(new Entry(0, 7));     //其中两个数字对应的分别是   X轴   Y轴
            list.add(new Entry(1, 10));
            list.add(new Entry(2, 12));
            list.add(new Entry(3, 6));
            list.add(new Entry(4, 3));

            //list是你这条线的数据  "语文" 是你对这条线的描述(也就是图例上的文字)
            LineDataSet lineDataSet = new LineDataSet(list, "语文");
            LineData lineData = new LineData(lineDataSet);
            line.setData(lineData);

            //简单美化

            //   X轴所在位置   默认为上面
            line.getXAxis().setPosition(XAxis.XAxisPosition.BOTTOM);

            line.getXAxis().setValueFormatter(new IndexAxisValueFormatter(listt));
            //隐藏右边的Y轴
            line.getAxisRight().setEnabled(false);  
 



        }
        return view;
    } 
 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.导入依赖库 在Android Studio中打开你的项目,找到build.gradle(Module:app)文件,在dependencies中添加以下代码: ``` implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' ``` 2.添加控件 在xml文件中添加一个LineChart控件: ``` <com.github.mikephil.charting.charts.LineChart android:id="@+id/chart" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 3.初始化控件 在Activity或Fragment中找到控件,然后初始化: ``` LineChart chart = findViewById(R.id.chart); ``` 4.设置数据 首先,你需要创建一个LineDataSet对象,然后将它添加到LineData中。在示例中,我们创建一个数据集,其中包含一组数据,然后将该数据集添加到LineData中: ``` ArrayList<Entry> entries = new ArrayList<>(); entries.add(new Entry(0, 30)); entries.add(new Entry(1, 15)); entries.add(new Entry(2, 20)); entries.add(new Entry(3, 25)); entries.add(new Entry(4, 10)); LineDataSet dataSet = new LineDataSet(entries, "Label"); LineData lineData = new LineData(dataSet); chart.setData(lineData); ``` 5.自定义样式 你可以通过以下方式来自定义样式: - 设置线条颜色: ``` dataSet.setColor(Color.RED); ``` - 设置圆点颜色: ``` dataSet.setCircleColor(Color.RED); ``` - 设置圆点大小: ``` dataSet.setCircleRadius(5f); ``` - 设置线条宽度: ``` dataSet.setLineWidth(2f); ``` - 隐藏值: ``` dataSet.setDrawValues(false); ``` 6.显示图表 最后,你需要调用invalidate()方法来显示图表: ``` chart.invalidate(); ``` 完整示例代码: ``` LineChart chart = findViewById(R.id.chart); ArrayList<Entry> entries = new ArrayList<>(); entries.add(new Entry(0, 30)); entries.add(new Entry(1, 15)); entries.add(new Entry(2, 20)); entries.add(new Entry(3, 25)); entries.add(new Entry(4, 10)); LineDataSet dataSet = new LineDataSet(entries, "Label"); dataSet.setColor(Color.RED); dataSet.setCircleColor(Color.RED); dataSet.setCircleRadius(5f); dataSet.setLineWidth(2f); dataSet.setDrawValues(false); LineData lineData = new LineData(dataSet); chart.setData(lineData); chart.invalidate(); ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值