Android使用MPAndroidChart 绘制折线图

效果图:

1.导入依赖

1.1在项目根目录下的build.gradle文件中添加代码(注意不是app下的build.gradle):

maven { url 'https://jitpack.io' }

1.2在app下的build.gradle中的依赖下添加:

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

(添加后记得同步)

2.编写代码

2.1在页面布局代码中添加:

<com.github.mikephil.charting.charts.LineChart
            android:id="@+id/chart"
            android:layout_width="match_parent"
            android:layout_height="200dp"
            android:layout_weight="1" />

2.2在Java文件中编写代码:

 private LineChart chart;
 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_devices_demo);
        chart = findViewById(R.id.chart);
        initData();
}
private void initData(){
        // 准备数据
        List<Entry> entriesTemperature = new ArrayList<>();
        List<Entry> entriesHumidity = new ArrayList<>();
        List<Entry>  entriesPm = new ArrayList<>();
        entriesTemperature.add(new Entry(0,32));
        entriesTemperature.add(new Entry(1,33));
        entriesTemperature.add(new Entry(2,28));
        entriesTemperature.add(new Entry(3,30));
        entriesTemperature.add(new Entry(4,27));
        entriesTemperature.add(new Entry(5,31));

        entriesHumidity.add(new Entry(0,52));
        entriesHumidity.add(new Entry(1,60));
        entriesHumidity.add(new Entry(2,44));
        entriesHumidity.add(new Entry(3,55));
        entriesHumidity.add(new Entry(4,70));
        entriesHumidity.add(new Entry(5,65));

        entriesPm.add(new Entry(0,25));
        entriesPm.add(new Entry(1,36));
        entriesPm.add(new Entry(2,20));
        entriesPm.add(new Entry(3,65));
        entriesPm.add(new Entry(4,43));
        entriesPm.add(new Entry(5,20));
        // 创建数据集
        LineDataSet temperatureDataSet = new LineDataSet(entriesTemperature, "温度(℃)");
        LineDataSet humidityDataSet = new LineDataSet(entriesHumidity, "湿度(%)");
        LineDataSet pmDataSet = new LineDataSet(entriesPm, "PM2.5(μg/m³)");
//        // 设置温度数据集样式
        temperatureDataSet.setLineWidth(2.5f); // 设置线的宽度
        temperatureDataSet.setColor(Color.BLUE); // 设置线的颜色
        temperatureDataSet.setCircleColor(Color.BLUE); // 设置数据点的颜色(可选)
        temperatureDataSet.setCircleRadius(4f); // 设置数据点的半径(可选)
        temperatureDataSet.setFillColor(Color.parseColor("#009AD1")); // 设置填充颜色(可选)
        temperatureDataSet.setDrawFilled(true); // 启用填充(可选)
        temperatureDataSet.setDrawCircles(true); // 是否显示数据点(可选)
        temperatureDataSet.setDrawValues(true); // 是否显示数据值(可选)
        temperatureDataSet.setValueTextColor(Color.WHITE); // 设置数据值文本的颜色(如果显示的话)
//        // 设置湿度数据集样式
        humidityDataSet.setLineWidth(2.5f); // 设置线的宽度
        humidityDataSet.setColor(Color.GREEN); // 设置线的颜色
        humidityDataSet.setCircleColor(Color.GREEN); // 设置数据点的颜色(可选)
        humidityDataSet.setCircleRadius(4f); // 设置数据点的半径(可选)
        humidityDataSet.setFillColor(ColorTemplate.MATERIAL_COLORS[0]); // 设置填充颜色(可选)
        humidityDataSet.setDrawFilled(true); // 启用填充(可选)
        humidityDataSet.setDrawCircles(true); // 是否显示数据点(可选)
        humidityDataSet.setDrawValues(true); // 是否显示数据值(可选)
        humidityDataSet.setValueTextColor(Color.BLACK); // 设置数据值文本的颜色(如果显示的话)
        // 设置PM2.5数据集样式
        pmDataSet.setLineWidth(2.5f); // 设置线的宽度
        pmDataSet.setColor(Color.YELLOW); // 设置线的颜色
        pmDataSet.setCircleColor(Color.YELLOW); // 设置数据点的颜色(可选)
        pmDataSet.setCircleRadius(4f); // 设置数据点的半径(可选)
        pmDataSet.setFillColor(Color.parseColor("#FFFFA0")); // 设置填充颜色(可选)
        pmDataSet.setDrawFilled(true); // 启用填充(可选)
        pmDataSet.setDrawCircles(true); // 是否显示数据点(可选)
        pmDataSet.setDrawValues(true); // 是否显示数据值(可选)
        pmDataSet.setValueTextColor(Color.BLACK); // 设置数据值文本的颜色(如果显示的话)
        // 创建一个LineData对象,并将数据集集合传递给它
        LineData data = new LineData(temperatureDataSet,humidityDataSet,pmDataSet);
        // 将数据设置给图表
        chart.setData(data);
        // 刷新图表以显示数据
        chart.invalidate();
    }

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Android Studio绘制折线图的基本步骤: 1. 在build.gradle文件中添加依赖项,以使用MPAndroidChart库。在dependencies块中添加以下行: implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' 2. 在XML布局文件中添加一个LineChart视图。例如: <com.github.mikephil.charting.charts.LineChart android:id="@+id/lineChart" android:layout_width="match_parent" android:layout_height="match_parent" /> 3. 在Activity类中,获取LineChart对象并设置其属性。例如: LineChart lineChart = findViewById(R.id.lineChart); lineChart.getDescription().setEnabled(false); lineChart.setTouchEnabled(true); lineChart.setDragEnabled(true); lineChart.setScaleEnabled(true); 4. 创建一个LineDataSet对象来存储折线图的数据。例如: ArrayList<Entry> entries = new ArrayList<>(); entries.add(new Entry(0, 4)); entries.add(new Entry(1, 8)); entries.add(new Entry(2, 6)); entries.add(new Entry(3, 2)); entries.add(new Entry(4, 7)); LineDataSet dataSet = new LineDataSet(entries, "Label"); 5. 设置LineDataSet对象的样式属性。例如: dataSet.setColor(Color.RED); dataSet.setLineWidth(2f); dataSet.setCircleColor(Color.RED); dataSet.setCircleRadius(5f); dataSet.setDrawCircleHole(false); 6. 创建一个LineData对象,将LineDataSet对象添加到其中。例如: LineData lineData = new LineData(dataSet); 7. 将LineData对象设置为LineChart对象的数据。例如: lineChart.setData(lineData); 8. 刷新LineChart视图。例如: lineChart.invalidate(); 完成上述步骤后,就可以在Android应用程序中显示一个简单的折线图了。可以根据需要更改LineDataSet和LineChart的属性,以获得所需的外观和行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值