Android 는 MPAndroidChart 를 이용 하여 곡선 도 표를 그 리 는 기본 튜 토리 얼

머리말
최근 안 드 로 이 드 의 도표 컨트롤 을 살 펴 봤 는데 작년 에 응용 프로그램 을 만 들 었 고 도표 컨트롤 도 사 용 했 지만 공식 demo 에 따라 통합 되 었 을 뿐 많은 연구 가 없 었 다.
저 는 최근 에 기본적으로 Github 을 대상 으로 프로 그래 밍 을 했 습 니 다.다른 사람 이 만 든 바퀴 를 가 져 와 서 사용 합 니 다.직접 사용 할 수 없 는 것 은 고치 고 다시 사용 합 니 다.정말 실현 하기 어 려 운 것 은 제품 에 수 요 를 바 꾸 라 고 권 했 습 니 다.기본적으로 이것 은 방법 입 니 다.
도표 컨트롤 인 이상 github 에서 검색 하고 키워드 chart 는 자바 에 따라 선별 한 다음 start 수량 에 따라 정렬 하여 높 은 것 에서 낮은 것 으로 정렬 합 니 다.기본적으로 start 가 높 은 것 부터 낮은 것 까지 의 도표 컨트롤 은 MPAndroidChart,hellocharts-android,WilliamChart,XCL-Charts,EazeGraph,Jgraph 등 몇 개 입 니 다.일년 내 내 업데이트 되 지 않 는 issues 가 일년 내 내 아무 도 관심 을 갖 지 않 는 일부 라 이브 러 리 를 제외 하고 나 는 기본적으로 MPAndroidChart 를 사용 할 것 이 확실 하 다.나 는 다른 라 이브 러 리 를 찾 는 것 도 이런 방법 이다.그래서 일상적인 업 무 는 github 를 구경 하 는 것 입 니 다.마음 에 드 는 것 을 보면 star make 를 하 는 것 입 니 다.이것 은 타 오 바 오 를 구경 하 는 것 과 같은 이치 입 니 다[yahch].
말 이 많 지 않 으 니 우선 최종 효 과 를 살 펴 보 자.

MPAndroidChart 의 공식 문 서 는 매우 상세 하 다 고 할 수 있 으 며,기본적으로 그대로 만 오 면 된다.
방법 은 아래 와 같다.
첫 번 째 단 계 는 Gradle 참조 와 컨트롤 사용:

allprojects {
 repositories {
 maven { url "https://jitpack.io" }
 }
}
기본적으로 많은 프로젝트 가 Maven 공식 과 jitpack 을 통 해 이 루어 졌 기 때문에 할 말 이 없다.

dependencies {
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
}
나 는 여기 서 접 는 선 그림 만 사 용 했 고 다른 것 은 여러 종류의 도표 가 있어 서 프로젝트 클 라 이언 트 를 내 려 와 서 한 번 뛰 어 보면 알 수 있다.

<com.github.mikephil.charting.charts.LineChart
 android:id="@+id/lineChart1"
 android:layout_width="match_parent"
 android:layout_height="150dp"
android:layout_marginTop="10dp"></com.github.mikephil.charting.charts.LineChart>
두 번 째 단 계 는 표시 할 데 이 터 를 구축 하 는 것 입 니 다.

ArrayList<Entry> entryArrayList = new ArrayList<>();
for (int i = 0; i < chartDataBean.Altitudes.length; i++) {
 Entry entry = new Entry(i, (float) chartDataBean.Altitudes[i]);
 entryArrayList.add(entry);
}
//yahch
Entry 의 두 매개 변수 x,y 는 모두 float 유형 이다.나 는 모두 x,y 축의 값 을 나타 내 는 줄 알 았 다.그러나 생각해 보 니 x 축 이 수치 가 아니라면 float 유형 도 표시 할 수 없다.사실은 이 x 축의 float 유형의 값 은 x 축의 아래 표 이다.
접선 도표 에서 하나의 선 은 바로 Line DataSet 로 선 을 구축 하 는 것 도 간단 하 다.바로 한 통 의 설정 이다.모두 글자 의 뜻 에 따 른 것 이다.

LineDataSet lineDataSet = new LineDataSet(entryArrayList, "demo");
lineDataSet.setDrawCircles(false);
lineDataSet.setDrawFilled(true);
lineDataSet.setDrawValues(false);
if (Utils.getSDKInt() >= 18) {
 Drawable drawable = ContextCompat.getDrawable(activity, R.drawable.chart_bg);
 lineDataSet.setFillDrawable(drawable);
} else {
 lineDataSet.setFillColor(Color.BLACK);
}
lineDataSet.setColor(Color.parseColor("#7093C9"));
lineDataSet.setLineWidth(2f);
lineDataSet.setDrawHighlightIndicators(false);
lineDataSet.setMode(LineDataSet.Mode.CUBIC_BEZIER);
// yahch
LineChart 설정 데이터 방법 은 LineChart.setData(LineData lineData)이기 때문에 하나의 LineData 를 구축 해 야 한다.

LineData lineData = new LineData(lineDataSet);
만약 우리 가 평균 눈금 을 그 릴 필요 가 있다 면 LimitLine 을 사용 할 수 있 습 니 다.

LimitLine avgLine = new LimitLine(123f);
avgLine.setLineColor(Color.parseColor("#FFFFFF"));
lineChart1.getAxisLeft().addLimitLine(avgLine);
나 는 영혼 의 손 으로 그림 을 그 렸 다.

그리고 전체 화면 을 클릭 하여 가로로 표시 하 는 방법 은 간단 합 니 다.이것 은 현재 Activity 에서 이 도 표를 가로로 표시 하 는 것 이 아니 라 Activity 를 다시 켜 면 됩 니 다.그리고 onCreate 에서 ActionBar 를 없 애 면 됩 니 다.

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 getSupportActionBar().hide();
 setContentView(R.layout.activity_full_altitude_chart);
 }
//yahch
가로 방향 을 어떻게 할 까요?AndroidManifest.xml 에서 이 Activity 의 screenOrientation 인 자 를 landscape 로 설정 하고 가로 화면 을 강제로 설정 하면 됩 니 다.
OK,설 치 된 접 는 선 그래프 가 끝 났 습 니 다.나무 가 있 으 면 간단 합 니 다.
총결산
이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 참고 학습 가치 가 있 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.

좋은 웹페이지 즐겨찾기