0
点赞
收藏
分享

微信扫一扫

文本三剑客之首awk

梦为马 2024-06-25 阅读 43

效果图:

1.导入依赖

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

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

(添加后记得同步)

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();
    }
举报

相关推荐

0 条评论