1. GraphView Main
    1. Graph
      1. Padding 값 변수
      2. Margin 값 변수 (top, right)
      3. Max 값 변수
      4. 증가값 변수
      5. LineGraphVo extends Graph 그래프 클래스를 상속받아 그래프에 표시될 데이터를 저장
        1. List<LineGraph> 사용 - 여러 라인 데이터 저장
          1. LineGraph
          2. 색 지정
          3. 값배열
          4. 이름
          5. 비트맵이미지
        2. GraphAnimation
          1. 에니메이션을 표현할 상수 저장 (설정값)
    2. android 제공, SurfaceHolder 클래스 사용
    3. LineGraphView
      1. DrawThread extends Thread 그래프를 그리는 클래스
        1. WeakHaspMap<Integer, Bitmap> 변수 사용
        2. run 메소드
          1. X값, Y값 표시선을 그림
          2. 그래프 라인을 그림
          3. 그래프 Point를 그림
      2. GraphCanvasWrapper
        1. MaxtrixTranslator 다른 Point를 계산하는 클래스 (float 값을 파라미터로 받아 계산한 결과를 리턴)
          1. width, Height, PaddingLeft, PaddingBottom 변수
          2. calcX() x값과 PaddingLeft 값을 더해 리턴
          3. calcY() Height 값에서 (Y값과 Paddingbottom 값을 더한값)을 Minus해 리턴
          4. calcBitmapCenterX()
          5. calcBitmapCenterY()
        2. android에서 제공 하는 Canvas 클래스
        3. drawCircle(float cx, float cy, float radius, Paint paint) Canvas에 원을 그리는 메소드
        4. drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint) Canvas에 호를 그리는 메소드
        5. drawRect(float startX, float startY, float stopX, float stopY, Paint paint) Canvas에 사각형을 그리는 메소드
        6. drawLine(float startX, float x, float y, Paint paint) Canvas에 선을 그리는 메소드
        7. drawText(String text, float x, float y, Paint paint) Canvas에 글씨를 입력하는 메소드
        8. drawBitmapIcon(Bitmap bitmap, float left, float top, Paint paint) Canvas에 이미지를 그리는 메소드
      3. ErrorDetector 에러 체크 클래스
        1. ErrorCode 에러 메시지 저장 클래스
      4. drawGraphName(Canvas canvas) 그래프 각 항목 설명 박스를 그리는 메소드
        1. GraphNameBox 그래프 각항목 설명 박스 변수 지정
          1. NameBox 색 지정변수
          2. NameBox 위치 지정 변수 (marginTop, marginRight 로지정)
          3. TextSize 지정변수
          4. TextColor 지정변수
          5. 색의미 표시 박스 변수 (크기-가로, 세로- , margin)
        2. GraphNameBox로부터 NameBox를 그릴 데이터 변수값을 읽어와 파라미터로 받은 canvas에 draw (네모 테두리, 색의미 사각형, Text)
      5. setPaint() 그래프에서 사용할 선, 원, 표시선(그리드 점선) 등을 세팅하는 메소드 (이후 이 Paint 변수를 사용해 그림)
      6. DrawAnimation(GraphCanvasWrapper graphCanvas) 에니메이션을 그리거나 라인을 그리는 등 데이터를 화면에 표시하는 메소드 집합
        1. GraphPath
          1. MaxtrixTranslator 다른 Point를 계산하는 클래스 (float 값을 파라미터로 받아 계산한 결과를 리턴)
          2. width, Height, PaddingLeft, PaddingBottom 변수
          3. calcX() x값과 PaddingLeft 값을 더해 리턴
          4. calcY() Height 값에서 (Y값과 Paddingbottom 값을 더한값)을 Minus해 리턴
          5. calcBitmapCenterX()
          6. calcBitmapCenterY()
          7. MoveTo() 다음 포인트 값을 계산
          8. LineTo() 다음 라인값을 계산
        2. Duration 그래프를 그리는 에니메이션을 지속시키는 시간을 저장
        3. 파라미터로 받은 canvas에 라인, Point를 Draw
      7. calcTimePass() 그래프를 그리는 시간을 계산하는 메소드
      8. drawBaseLine(GraphCanvasWrapper graphCanvas) 파라미터로 받은 canvas에 베이스라인을 그리는 메소드
      9. drawXText(GraphCanvasWrapper graphCanvas) 파라미터로 받은 canvas에 그려진 그래프의 하단에 X값을 입력하는 메소드
      10. drawYText(GraphCanvasWrapper graphCanvas) 파라미터로 받은 canvas에 그려진 그래프의 좌측에 Y값들을 입력하는 메소드
      11. drawXMark(GraphCanvasWrapper canvas) 파라미터로 받은 canvas에 반복문을 돌며 X표시 라인을 그림
      12. drawYMark(GraphCanvasWrapper canvas) 파라미터로 받은 canvas에 반복문을 돌며 Y표시 라인을 그림
      13. onTouchEvent(MotionEvent event) 터치 이벤트를 감지하여 처리하는 메소드