달력

52025  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

1. org.jfree.chart.JFreeChart

JFreeChart의 기본 클래스이다. 자바2D로 구현되어 있으며 현재 바 차트 , 라인 차트 , 파이 차트 , XY 플롯(시간에 따른 XY그래프)를 지원한다. JFreeChart클래스는 제목을 나타내는 AbstractTitle객체 , Legend객체 , Plot객체 그리고 DataSet객체로 이루어져 있다.

2. org.jfree.chart.AbstractTitle

차트의 제목을 나타낸다. 하위 클래스로 ImageTitle , LegendTitle , TextTitle로 구성되어 있다.

3. org.jfree.chart.Legend

 차트에 포함된 시리즈(series)의 이름과 그 표현방식을 구성한다.

4. org.jfree.chart.plot.Plot

 JFreeChart클래스는 축과 데이터를 그리는(draw) 작업을 Plot에게 위임하였다. 대표적인 하위 클래스로는
CategoryPlot , PiePlot , XYPlot등이 있다.

5. org.jfree.data.DataSet

차트의 데이터를 담당한다. 대표적인 구현 클래스로는 DefaultPieDataSet , TimeSeriesCollection등이 있다.

6. org.jfree.chart.ChartFactory

차트를 생성을 위한 메소드를 제공한다. 예를 들어 pie차트를 만들기 위해서는 creatPieChart() 메소드를 사용한다.

7. org.jfree.chart.ChartPanel

차트를 생성한 후 JFreeChart 클래스를 ChartPanel에 넣어 스윙 컴포넌트로 사용할 수 있다


#1 첫번째 방법~

- JFreeChart 의 Font를 가져와 변경하는 방법!!
차트 제목과 범례 : JFreeChart 로 부터
각 축 : JFreeChart 의  CategoryPlot 로 부터 받아온다.
x축 : getDomainAxis()
y축  : getRangeAxis()  각 축의 정보를 가지고 있다.

  /* 한글 처리 문제 */
  //차트 제목
  labelFont = jfc.getTitle().getFont();
  jfc.getTitle().setFont(new Font("굴림",labelFont.getStyle(),labelFont.getSize()));
  //X축 제목
  labelFont = cgp.getDomainAxis().getLabelFont();
  cgp.getDomainAxis().setLabelFont(new Font("돋움",labelFont.getStyle(),labelFont.getSize()));

  //X축 값에 대한 레이블
  labelFont = cgp.getDomainAxis().getTickLabelFont();
  cgp.getDomainAxis().setTickLabelFont(new Font("돋움",labelFont.getStyle(),labelFont.getSize()));

  //Y축 제목
  labelFont = cgp.getDomainAxis().getLabelFont();
  cgp.getRangeAxis().setLabelFont(new Font("돋움",labelFont.getStyle(),labelFont.getSize()));

  //Y축  값에 대한 레이블
  labelFont = cgp.getRangeAxis().getTickLabelFont();
  cgp.getRangeAxis().setTickLabelFont(new Font("돋움",labelFont.getStyle(),labelFont.getSize()));

  //범례
  //jfc.getLegend().setItemFont(new Font("돋움",Font.PLAIN,10));


# 2 두번째 방법~

 

JRE에 한글 font가 설치 되어있지 않아서 발생하는 문제

JAVA_HOME/jre/lib 폴더에 보면 fontconfig 파일들이 존재한다.
이중 fontconfig.RedHat.properties.src 파일을 fontconfig.properties파일로 복사
fontconfig.properties파일에 쓰기 권한을 주고 편집

#> cp fontconfig.RedHat.properties.src fontconfig.properties
#> chmod +w fontconfig.properties
#> vi fontconfig.properties
--------------- font.config.properties 내용 --------------------------
# 생략
.
.
.
# AWT X11 font paths
awtfontpath.chinese-tw-iso10646=/usr/share/fonts/zh_TW/TrueType
awtfontpath.chinese-cn-iso10646=/usr/share/fonts/zh_CN/TrueType
awtfontpath.japanese-iso10646=/usr/share/fonts/ja/TrueType
awtfontpath.korean-iso10646=/usr/share/fonts/ko/TrueType      <---- 이부분을 폰트 파일의 위치로 수정

서버에서 /usr/local/java...(java폴더명은 서버마다 틀릴수 있다.)/jre/lib/ 폴더에 있는

 fontconfig.RedHat.properties.src 열고  가장 밑에 부분에 있는 곳을 확인해본다.
........

# AWT X11 font paths
awtfontpath.chinese-tw-iso10646=/usr/share/fonts/zh_TW/TrueType
awtfontpath.chinese-cn-iso10646=/usr/share/fonts/zh_CN/TrueType
awtfontpath.japanese-iso10646=/usr/share/fonts/ja/TrueType
awtfontpath.korean-iso10646=/usr/share/fonts/ko/TrueType

/usr/share/fonts/ko/TrueType 디렉토리를 생성하고 그 디렉토리에
batang.ttc과 gulim.ttc파일을 복사해 넣는다.

tomcat을 재구동 시켜준다.


 

Posted by 인천총각
|