콘텐츠로 이동

Axis

목적

Graph Axis의 속성을 정의


주요 단계

이미지


[ 첨부 ABAP SOURCE ( SET_CHART_AXIS ) ]


method SET_CHART_AXIS.

    DATA : LS_AXIS TYPE /U4A/CL_UO99988=>TY_AXIS.

*--------------------------------------------------------------------*

    REFRESH ET_AXIS.

    LS_AXIS-VALUEFIELD     = 'WEK01'.   "fcat 필드명.
    LS_AXIS-STACKTYPE      = 'none'.    "STACK유형("none", "regular", "100%", "3d").
    LS_AXIS-POSITION       = 'left'.    "위치("top", "bottom", "left", "right")
    LS_AXIS-AXISALPHA      = ''.        "축 선의 투명도
    LS_AXIS-AXISCOLOR      = ''.        "축 선 색상
    LS_AXIS-AXISTHICKNESS  = ''.        "축 선 두께
    LS_AXIS-FONTSIZE       = '11'.      "TEXT FONT크기
    APPEND LS_AXIS TO ET_AXIS.
    CLEAR LS_AXIS. 

endmethod.

PROPERTIES MEAN
VALUEFIELD Fcat Field 명
STACKTYPE Stack 유형("none", "regular", "100%", "3d")
TITLE 축의 Title
TITLEALIGN Title 위치("top", "center", "bottom", "left", "right")
TITLEBOLD Title Bold 적용 여부('X' 적용, '' 미적용)
TITLEROTATION Title 글자 기울기
POSITION 위치("top", "bottom", "left", "right")
AXISALPHA 축 선의 투명도
AXISCOLOR 축 선 색상
AXISTHICKNESS 축 선 두께
COLOR 값 Text의 색상
FONTSIZE Text Font 크기
DASHLENGTH Graph Border 가로선 점섬(숫자가 클수록 점선 간격이 길어짐, 왼쪽 축 기준만 적용됨)
GRIDALPHA 가로선의 투명도
GRIDCOLOR 가로선 색상
GRIDTHICKNESS 가로선 두께
LABELROTATION 값 기울기(Y축 영역에서는 속성 무시됨)
MAXIMUM Graph 표현의 최대값
MINIMUM Graph 표현의 최소값
INSIDE Graph 숫자위치(X = 그래프 안으로 들어감)
UNIT Y축 값 뒤에 표기 할 기호(%, $ 등)
AUTOGRIDCOUNT Y축 값의 눈금 자동 설정('X' = 자동설정 사용안함)
GRIDCOUNT Y축 값의 눈금 갯수(autoGridCount = 'X' 일때만 적용)
GUIDE Graph 평균선
LABELSDISABLED Label 비활성화 여부('X' = 비활성화 처리)
BOLDLABELS Label Bold 처리 여부('X' = BOLD 처리)
INCLUDEALLVALUES 확대 축소 시 Y축 최소, 최대값 고정 여부('X')
LABELOFFSET Label 여백
OFFSET Y축 여백
HIDEFIRSTLABEL Y축 첫번째 값 표시 여부('X' = 표시안함)
HIDELASTLABEL Y축 마지막 값 표시 여부('X' = 표시안함)
TITLEFONTSIZE Title Font 크기
TOTALTEXTFIELD Total 값 Binding Field(누적 막대 전용)
TOTALTEXTCOLOR Total 값 색상 Field(누적 막대 전용)
TOTALTEXTOFFSET Total 값 여백 Field(누적 막대 전용)
UNITPOSITION Y축 값 뒤에 표기할 기호 위치(left, rigth)
TITLECOLOR Title Font Color

1. AmSerialChartComposite Axis - StackType.

이미지

< none >


이미지


< regular >

이미지


< 100% >


이미지


< 3d >

2. AmSerialChartComposite Axis - Position.

이미지

※ 축이 생성되는 위치를 설정 가능.

※ Position을 'left', 'right'로 각각 생성하면 위 Image와 같이 양쪽에 축이 생성 되는 것을 확인.

3. AmSerialChartComposite Axis - Axis.

이미지

※ 축 선 색상(AxisColor), 축 선 두께(AxisThickness), 축 선 투명도(AxisAlpha)를 설정 가능.

※ 위 Image에서는 색상 : red 두께 : 5 투명도 : 1 로 설정하였으며 Axis가 존재하는 좌측에 붉은색 축이 생긴 것을 확인.

4. AmSerialChartComposite Axis - X축.

이미지

※ 가로선 색상(GridColor), 가로선 두께(GridThickness), 가로선 투명도(GridAlpha), 가로선 점선(DashLength)을 설정 가능.

※ 위 Image에서는 색상 : blue 두께 : 1 투명도 : 1 로 설정하였으며 파란색 가로선이 생긴 것을 확인.

5. AmSerialChartComposite Axis - Y축.

이미지

※ Y축 값 뒤에 표기 할 기호(Unit), Y축 값의 눈금 자동 설정(AutoGridCount), Y축 값의 눈금 갯수(GridCount),

※ Y축 여백(Offset), Y축 첫번째 값 표시여부(HideFirstLabel), Y축 마지막 값 표시 여부(HideLastLabel)를 설정 가능.

※ 위 Image에서 좌측 Graph는 GridCount : 8, Unit : kg로 설정하였고 우측 Graph는 GridCount : 15, Unit: $ 로 설정된 것을 확인.

6. AmSerialChartComposite Axis - Title.

이미지

※ 축의 Title 명(Title), Title 위치(TitleAlign), Title 굵기(TitleBold), Title 기울기(TitleRotation), Title Font 크기(TitleFontSize), Title Font 색상( TitleColor)를 설정 가능.

※ 위 Image에서는 2개의 Title이 설정된 것을 확인.

7. AmSerialChartComposite Axis - 표현 값.

이미지

※ Graph 표현의 최대값과 최소값을 설정 가능.

※ 위 Image에서는 좌측 Graph는 최소값 : 1000, 최대값 : 5000 으로 설정햇으며 우측 Graph는 최소값 : 10000, 최대값 : 30000 으로 설정된 것을 확인.

8. AmSerialChartComposite Axis - Total.


[ 첨부 ABAP SOURCE ( SET_CHART_AXIS ) ]


METHOD SET_CHART_AXIS.

    DATA : LS_AXIS  TYPE /U4A/CL_UO99988=>TY_AXIS.

*--------------------------------------------------------------------*

    REFRESH ET_AXIS.

    LS_AXIS-VALUEFIELD      = 'WEK01'.   "fcat 필드명.
    LS_AXIS-STACKTYPE       = 'regular'. "STACK유형("none", "regular", "100%", "3d").
    LS_AXIS-POSITION        = 'left'.    "위치("top", "bottom", "left", "right")
    LS_AXIS-FONTSIZE        = '11'.      "TEXT FONT크기
    LS_AXIS-TOTALTEXTCOLOR  = 'red'.     "Total값 색상 필드(누적 막대 전용).
    LS_AXIS-TOTALTEXTFIELD  = 'A01'.     "Total값 Binding 필드(누적 막대 전용).
    LS_AXIS-TOTALTEXTOFFSET = '10'.      "Total값 여백 필드(누적 막대 전용).
    APPEND LS_AXIS TO ET_AXIS.
    CLEAR LS_AXIS.

    LS_AXIS-VALUEFIELD      = 'MON01'.   "fcat 필드명.
    LS_AXIS-STACKTYPE       = 'regular'. "STACK유형("none", "regular", "100%", "3d").
    LS_AXIS-POSITION        = 'right'.   "위치("top", "bottom", "left", "right")
    LS_AXIS-FONTSIZE        = '11'.      "TEXT FONT크기
    LS_AXIS-TOTALTEXTCOLOR  = 'blue'.    "Total값 색상 필드(누적 막대 전용).
    LS_AXIS-TOTALTEXTFIELD  = 'A01'.     "Total값 Binding 필드(누적 막대 전용).
    LS_AXIS-TOTALTEXTOFFSET = '50'.      "Total값 여백 필드(누적 막대 전용).
    APPEND LS_AXIS TO ET_AXIS.
    CLEAR LS_AXIS.

ENDMETHOD.

FieldCat의 Binding Field를 구성할 때와 동일하게 'A01'이라는 Field명으로 설정한 후 값을 구성.

다음으로 Total과 관련된 TotalTextColor와 TotalTextOffset 값을 설정.

( Total Text에 모두 동일하게 적용되며 개별적으로 적용은 불가능 함.)


[ 첨부 ABAP SOURCE ( SET_CHART ) ]


METHOD SET_CHART.

    DATA : LO_CHART TYPE REF TO /U4A/CL_UO99988,
           LT_FCAT  TYPE /U4A/CL_UO99988=>TT_FCAT,
           LT_DATA  TYPE /U4A/Y0071,
           LT_AXIS  TYPE /U4A/CL_UO99988=>TT_AXIS,
           LS_GRAPH TYPE /U4A/S0072.

    DATA: LV_TOTXT TYPE STRING,
          LV_INDEX TYPE I.

    FIELD-SYMBOLS: <FS_DATA>TYPE /U4A/S0071.

*--------------------------------------------------------------------*

    LO_CHART ?= ME->/U4A/IF_SERVER~AR_VIEW->GET_UI_INSTANCE( I_ID = 'CHART1' ).

    CHECK LO_CHART IS BOUND.

    "SET CHART FCAT DATA.
    CALL METHOD ME->SET_CHART_FCAT
      IMPORTING
        ET_FCAT = LT_FCAT.

    "SET CHART AXIS DATA.
    CALL METHOD ME->SET_CHART_AXIS
      IMPORTING
        ET_AXIS = LT_AXIS.

    "SET CHART DATA.
    CALL METHOD ME->SET_CHART_DATA
      IMPORTING
        ET_DATA = LT_DATA.

    " TOTAL TEXT 설정 .
    LOOP AT LT_DATA ASSIGNING <FS_DATA>.

      ADD 1 TO LV_INDEX.

      " TOTAL TEXT 생성 .
      LV_TOTXT = 'Total Text' && LV_INDEX.

      LS_GRAPH-VALUEFIELD = 'A01'.
      LS_GRAPH-GRAPHVALUE = LV_TOTXT.

      APPEND LS_GRAPH TO <FS_DATA>-GRAPHVALUE.
      CLEAR  LS_GRAPH.

    ENDLOOP.

    "SHOW CHART.
    CALL METHOD LO_CHART->SHOW
      EXPORTING
        IT_FCAT = LT_FCAT                 " 차트 필드 정보
        IT_DATA = LT_DATA                 " 차트 데이터
        IT_AXIS = LT_AXIS.

ENDMETHOD.

Total Text Binding Field 값 설정.

이미지

Graph의 Total과 관련된 합계 값 Text(ToTalTextField), 합계 값 색상(TotalTextColor), 합계 값 여백(TotalTextOffset)에 대한 설정이 된 것을 확인.