版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/a136447572/article/details/88907202
导入lib
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
1 布局文件
<com.github.mikephil.charting.charts.LineChart
android:id="@+id/chart"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_marginTop="20dp"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="#fff" />
2 初始化
LineChart chart ;
chart = findViewById(R.id.chart);
setchartData(chart);//设置lineChart的值
3 赋值
private void setchartData(LineChart chart){
List<Entry> entries = new ArrayList<>();
entries.add(new Entry(0, 4));
entries.add(new Entry(1, 9));
entries.add(new Entry(2, 11));
entries.add(new Entry(3, 5));
entries.add(new Entry(4, 20));
entries.add(new Entry(5, 15));
entries.add(new Entry(6, 20));
LineDataSet dataSet = new LineDataSet(entries, "Label"); // add entries to dataset
dataSet.setColor(Color.parseColor("#AABCC6"));//线条颜色
// dataSet.setCircleColor(Color.parseColor("#7d7d7d"));//圆点颜色
dataSet.setDrawValues(false); // 设置是否显示数据点的值
dataSet.setDrawCircleHole(false); // 设置数据点是空心还是实心,默认空心
dataSet.setCircleColor(Color.parseColor("#AABCC6")); // 设置数据点的颜色
dataSet.setCircleSize(1); // 设置数据点的大小
dataSet.setHighLightColor(Color.parseColor("#AABCC6")); // 设置点击时高亮的点的颜色
dataSet.setLineWidth(2f);//线条宽度
//设置样式
YAxis rightAxis = chart.getAxisRight();
//设置图表右边的y轴禁用
rightAxis.setEnabled(false);
YAxis leftAxis = chart.getAxisLeft();
//设置图表左边的y轴禁用
leftAxis.setEnabled(true);
leftAxis.setTextColor(Color.parseColor("#333333"));
//设置x轴
XAxis xAxis = chart.getXAxis();
xAxis.setTextColor(Color.parseColor("#333333"));
xAxis.setTextSize(11f);
xAxis.setAxisMinimum(0f);
xAxis.setDrawAxisLine(false);//是否绘制轴线
xAxis.setDrawGridLines(false);//设置x轴上每个点对应的线
xAxis.setDrawLabels(true);//绘制标签 指x轴上的对应数值
xAxis.setPosition(XAxis.XAxisPosition.BOTTOM);//设置x轴的显示位置
xAxis.setGranularity(1f);//禁止放大后x轴标签重绘
final String [] xAxisName = {"周日","周一","周二","周三","周四","周五","周六"};
xAxis.setValueFormatter(new IAxisValueFormatter() {
@Override
public String getFormattedValue(float value, AxisBase axis) {
return xAxisName[(int) value];
}
});
//透明化图例
Legend legend = chart.getLegend();
legend.setForm(Legend.LegendForm.NONE);
legend.setTextColor(Color.WHITE);
//隐藏x轴描述
Description description = new Description();
description.setEnabled(false);
chart.setDescription(description);
LineData lineData = new LineData(dataSet);
chart.setData(lineData);
chart.invalidate(); // refresh
}