1.github地址
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; } }