chart fx for java을 이용한charting...
TRANSCRIPT
![Page 1: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/1.jpg)
Chart FX for JAVA을이용한 Charting 프로그램Chart FX for JAVA을이용한 Charting 프로그램
㈜예쓰월드(YESSData.com)소프트웨어 사업부기술지원 팀
2005. 02. 02
![Page 2: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/2.jpg)
AgendaAgenda
회사소개
Chart FX for JAVA 소개
Chart FX for JAVA의 API (데모)
그외
Contact Us
![Page 3: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/3.jpg)
YESSWorldYESSWorld개발용 소프트웨어를 전문적으로 공급
Chart FX for JAVA : 대표적인 자바 차트 컴포넌트
Resin : 가장 빠른 Java WAS
JProbe : Java 포퍼먼스 튜닝
JClass : 그리드, 리포팅 …
InstallAnywhere : 자바 인스톨러
FormulaOne for JAVA : 자바용 Excel 클라이언트 컴포넌트
ExcelWriter : 자바용 Excel 서버 컴포넌트
IP*Works : 자바 통신 컴포넌트
JSuite : 자바 GUI 컴포넌트
SourceInsight : 자바 소스 분석 및 개발
MCP/MSP 파트너로서 MS기반 솔루션 및 제품 판매
![Page 4: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/4.jpg)
Software FXSoftware FX
1993년 설립
재사용 가능한 시각적인 컴포넌트에 대한 요구가 시장에서 나타남에 따라 설립됨
설립 후 현재까지 전 세계 Chart 컴포넌트 분야를 선도하고 있습니다.
가장 강력하고, 사용하기 쉬운, 데이터 표현솔루션을 개발자에게 제공한다는 철학을 가진 기업입니다.
![Page 5: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/5.jpg)
자매제품자매제품Chart FX for .NET
Chart FX Internet
Chart FX Client Server
Chart FX Delphi
Pocket Chart FX
Chart FX Studio
Chart FX ExtensionChart FX Financial
Chart FX Statistical
Chart FX OLAP
Chart FX Real-Time
![Page 6: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/6.jpg)
Chart FX for JAVA 소 개Chart FX for JAVA 소 개
![Page 7: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/7.jpg)
JAVA 버전 특징JAVA 버전 특징
기존 COM버전 보다 유연하다.다중 축의 개수 제한이 없음
강화된 UI – 그라디언트, 안티앨리어싱…
강력한 마법사 기능과 편리한 도움말
다양한 출력형태Image, SVG, Flash, .NET Control
순수한 JAVA 컴포넌트
![Page 8: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/8.jpg)
제 품 구 성제 품 구 성Server Component (JSP/Servlet)
Client Component (.NET Control)
Designer (Templates)
DesignerDesignerDesigner
![Page 9: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/9.jpg)
Chart FX for JAVA의 도움말Chart FX for JAVA의 도움말
![Page 10: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/10.jpg)
Chart FX for JAVA의 APIChart FX for JAVA의 API
![Page 11: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/11.jpg)
Chart 생성하기Chart 생성하기
import SoftwareFX.ChartFX.*;
ChartServer chart1 = new ChartServer(application,request,response );
chart1.getHtmlTag("400","240","PNG");
![Page 12: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/12.jpg)
Gallery TypesGallery Types
Axis ChartsLines, Bar, Curve, Scatter, Area, Step, OpenHiLowClose …
Non-axisPie, Radar, Polar, Doughnut…
Chart와 Series의 Gallery 속성 사용chart1.setGallery(Gallery.GANTT);
series.setGallery(Gallery.LINES);
![Page 13: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/13.jpg)
GanttGantt
chart1.openData(COD.VALUES, 1, 9);chart1.openData(COD.INI_VALUES, 1, 9);chart1.setIniValue(0, 0,5);chart1.setValue(0, 0,25);chart1.setLegend(0,"Act. 1");:
![Page 14: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/14.jpg)
BubbleBubble
2가지 값을 동시에 표현Y값, 풍선의 크기
chart1.setValue(0, j, dY) //Bubble Y Value
chart1.setValue(1, j, dSize) //Bubble Size
XY BubbleX, Y, 풍선의 크기
chart1.setValue(0, j, dY) //Bubble Y Value
chart1.setXValue(0, j, dX) //Bubble X Value
chart1.setValue(1, j, dSize) //Bubble Size
![Page 15: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/15.jpg)
BubbleBubble
![Page 16: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/16.jpg)
DoughnutDoughnut
chart1.setGallery(Gallery.DOUGHNUT);chart1.setChart3D(true);chart1.setPointLabels(true);chart1.getPoint(2).setSeparateSlice((short) 35);
![Page 17: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/17.jpg)
XY Plot - ScatterXY Plot - Scatter
chart1.setGallery(Gallery.SCATTER);chart1.openData(COD.VALUES, 2, 10);chart1.openData(COD.XVALUES, 2, 10);chart1.setXValue(0, 0, -0.86);chart1.setValue(0, 0, -0.41);
![Page 18: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/18.jpg)
OpenHiLowCloseOpenHiLowClose
TextProvider txtProvider = new TextProvider(application.getRealPath("/data/openhighlowclosedata.txt")); //TextProvider에 대한 설명
chart1.setDataType(0, DataType.LABEL);chart1.setDataType(1, DataType.VALUE);chart1.setDataType(2, DataType.VALUE);chart1.setDataType(3, DataType.VALUE);chart1.setDataType(4, DataType.VALUE);chart1.setDataSource(txtProvider);
chart1.setGallery(Gallery.OPENHILOWCLOSE);chart1.setVolume((short) 100);
![Page 19: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/19.jpg)
OpenHiLowCloseOpenHiLowClose
![Page 20: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/20.jpg)
Surface & ContourSurface & Contour
Series와 Point, 값을 이용하여 표현 (more)
![Page 21: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/21.jpg)
Surface & ContourSurface & Contour
![Page 22: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/22.jpg)
CombinationCombination
전체 설정chart1.setGallery(Gallery.AREA);시리즈별 설정chart1.getSeries(0).setGallery(Gallery.AREA);SeriesAttributes series = chart1.getSeries(1); series.setGallery(Gallery.LINES); series.setMarkerShape(MarkerShape.NONE); series = chart1.getSeries(2); series.setGallery(Gallery.LINES);
![Page 23: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/23.jpg)
데이터 전달데이터 전달
다양한 형태의 데이터 지원API
Database
Text
XML
Arrays & Collections
Crosstab (아직 불가)
![Page 24: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/24.jpg)
API를 이용한 전달API를 이용한 전달
setValue속성을 이용하여 전달chart1.setValue(1,2,40);Value속성은 OpenData와 CloseData 메서드 사이에서사용
Points의 개수를 모를때chart1.openData(COD.VALUES, 1, COD.UNKNOWN);
축 재설정(Axis.) setAutoScale(boolean value)(Aixs.) resetScale()
Hidden Pointschart1.setValue(0, 3, Chart.HIDDEN);
기존값의 변경chart1.openData(COD.VALUES, COD.UNCHANGE
, COD.UNCHANGE);
![Page 25: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/25.jpg)
DatabaseDatabase
JDBCDataProvider provider = new JDBCDataProvider(ResultSet);
chart1.setDataType(0,DataType.LABEL);chart1.setDataType(1,DataType.VALUE);chart1.setDataType(2,DataType.VALUE);
chart1.getAxisX().getLabelsFormat().setFormat(AxisFormat.DATE);
chart1.setDataSource(provider);
![Page 26: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/26.jpg)
Text FilesText Files
//Create TextProviderTextProvider txtProvider = new TextProvider(application.ge
tRealPath("/data/rangebanddata.txt"));
//Setting chart1 collumns data typechart1.setDataType(0, DataType.LABEL);chart1.setDataType(1, DataType.NOT_USED);chart1.setDataType(2, DataType.NOT_USED);chart1.setDataType(3, DataType.INIVALUE); chart1.setDataType(4, DataType.VALUE);chart1.setDataType(5, DataType.VALUE);chart1.setDataType(6, DataType.VALUE);
chart1.setDataSource(txtProvider);
![Page 27: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/27.jpg)
XMLXML
XMLProvider sfxXml = new XMLProvider();
sfxXml.load(XML파일위치);
chart1.setDataSource(sfxXml);
![Page 28: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/28.jpg)
Collection & ArraysCollection & Arrays
ListProvider lstProvider = new ListProvider();
lstProvider.add(labels);
lstProvider.add(arrVals[0]);
lstProvider.add(arrVals[1]);
chart1.setDataSource(lstProvider);
![Page 29: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/29.jpg)
Axis HandlingAxis Handling
Scaling
Formatting
Labeling
Scrolling
Multiple Axes
Gridlines & Tickmarks
![Page 30: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/30.jpg)
ScalingScaling
/*****************************************/chart1.getAxisY().setAutoScale(false);/*****************************************/
boolean b2ND;if(b2ND=true){
//데이타 변동chart1.openData(COD.VALUES, COD.UNCHANGE, COD.UNCHANGE);
chart1.setValue(0, 5, 150);chart1.setValue(1, 10, 250);
chart1.closeData(COD.VALUES);}
/*****************************************/boolean bRecalc;if(bRecalc=true)
chart1.recalcScale();/*****************************************/
![Page 31: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/31.jpg)
LogBaseLogBase
![Page 32: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/32.jpg)
FormattingFormatting
Axis axis=chart1.getAxisY();
Pre-Definedaxis.getLabelsFormat().setFormat(AxisFormat.SCIENTIFIC);
User-Definedaxis.getLabelsFormat().setCustomFormat("mm/dd/yy");
"$#,##0;($#,##0)“txtProvider.setDateFormat("M/d/yyyy");
Logarithmic Scalesaxis.setLogBase((short) 10);
Manipulating Dates and TimesAxis axis = chart1.getAxisX();axis.getLabelsFormat().setFormat(AxisFormat.TIME);axis.setMin(0);axis.setMax(2);axis.setStep(1/24);
![Page 33: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/33.jpg)
LabelingLabeling
//the interval between 2 consecutive tickmarks is equal to 10chart1.getAxisY().setLabelValue((short) 10);
//assign each labelfor (int i=0;i<=9;i++)
chart1.getAxisY().setLabel(i, "레이블 " + i);
//set the text color of the y axis labelschart1.getAxisY().setTextColor(new Color(255,0,0));
//set the font properties for the y axis labelschart1.getAxisY().setFont( new Font("굴림", Font.BOLD, 14));
chart1.getAxisY().setLabelAngle((short) 30);
![Page 34: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/34.jpg)
ScrollingScrolling
chart1.setScrollable(true);
chart1.getAxisX().setScrollView(20,60);
chart1.getAxisY().setScrollView(30, 70);
chart1.getHtmlTag("450","280",".NET")
![Page 35: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/35.jpg)
Multiple AxesMultiple Axes
SeriesAttributes series1 = chart1.getSeries(1);
series1.setYAxis(YAxis.SECONDARY);
Axis axis = chart1.getAxis((int) YAxis.SECONDARY);
axis.setVisible(true);
Axis axis2 = chart1.getAxis(3);
axis2.setVisible(true);
![Page 36: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/36.jpg)
Gridlines & TickmarksGridlines & Tickmarks
axis.setStep((short) 20);
axis.setGridlines(true);
axis.getGrid().setColor(new Color(135, 206, 250));
axis.setMinorStep((short) 5);
axis.getMinorGrid().setColor(new Color(255, 0, 0));
axis.setMinorTickMark(TickMark.OUTSIDE);
axis.setStyle(axis.getStyle() | AxisStyle.INTERLACED);
![Page 37: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/37.jpg)
포인트별 속성 주기포인트별 속성 주기
Basic
chart1.getPoint(0,3).setColor(Color.red);
Advanced
for (int i=0;i<totSeries;i++)
for (int j=0;j<totValues;j++)
if (chart1.getValue(i,j) >= myLimit[i][0]) {
chart1.getPoint(i, j).setColor(myColor[i][0]);
}else if(chart1.getValue(i,j) < myLimit[i][1]){
chart1.getPoint(i, j).setColor(myColor[i][1]);
}
![Page 38: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/38.jpg)
Import & ExportImport & Export
Export
chart1.exportChart(FileFormat.BINARY, Filename/Stream);
FileMask
chart1.setFileMask(chart1.getFileMask()
| FileMask.ALL ^ FileMask.TITLES);
Import
chart1.importChart(FileFormat.BINARY, 바이너리 파일명);
Import from Designer
chart1.importChart(FileFormat.XML, XML 위치));
![Page 39: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/39.jpg)
Legends & LabelsLegends & Labels
Series Legend
Point Legend
User Legend
Marker Labels
Custom Marker Labels
Double Labeling
SerLeg & SerKey
![Page 40: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/40.jpg)
Series LegendSeries Legend// In this case we are hardcoding the labels// but it would be the same if the labels are retrieved from the database
chart1.setSerLeg(0, "ChartFX");chart1.setSerLeg(1, "ReportFX");
// Show the Series Legend Window
chart1.setSerLegBox(true);
chart1.getSerLegBoxObj().setToolBorder(ToolBorder.EXTERNAL);
//Emboss, Embed, SolidLines, Colonial, ArchThick, Open, SolidRivet, Slide
ImageBorder myBorder = new ImageBorder(ImageBorderType.EMBOSS);
chart1.setBorderObject(myBorder);
![Page 41: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/41.jpg)
Point LegendPoint Legendchart1.setLegendBox(true);chart1.getLegendBoxObj().setDocked(
Docked.LEFT);chart1.getLegendBoxObj().setAlignment(
ToolAlignment.FAR);chart1.setLegend(0,"January");chart1.setLegend(1,"February");chart1.setLegend(2,"March");chart1.setLegend(3,"April");chart1.setLegend(4,"May");
chart1.setDataEditor(true);chart1.getDataEditorObj().setDocked(
Docked.BOTTOM);
![Page 42: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/42.jpg)
User LegendUser Legend
// Configure user legend for special pointsString strLegend[]={"Too High", "Normal", "Too Low"};UserLegendBoxItem userLegItem;
for (int i=0;i<3;i++) {userLegItem =
chart1.getUserLegendBoxObj().getItem(i);userLegItem.setLabel(strLegend[i]);userLegItem.setColor(myColor[0][i]);userLegItem.setMarkerShape(MarkerShape.RECT);userLegItem.setBorderEffect(BorderEffect.NONE);
}chart1.setUserLegendBox(true);
![Page 43: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/43.jpg)
Legend Box 크기 고정Legend Box 크기 고정
설명 취소 : 나중에 나옴
![Page 44: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/44.jpg)
Marker LabelsMarker Labels
SeriesAttributes series = chart1.getSeries(0);series.setPointLabels(true);series.setPointLabelAngle((short) 90);series.setPointLabelAlign(
LabelAlign.RIGHT | LabelAlign.VCENTER);series.setColor(new Color(255, 255, 0));
![Page 45: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/45.jpg)
Custom Marker LabelsCustom Marker Labels
chart1.setPointLabelMask(
"I represent the " + "%p" + "%%"
+ "₩n" + "of " + "%t" + " on " + "%l");
chart1.setPointLabels(true);
chart1.setLegend(0, "Jan");
chart1.setLegend(1, "Feb");
chart1.setLegend(2, "Mar");
![Page 46: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/46.jpg)
Double LabelingDouble Labeling
Axis axis3 = chart1.getAxis(3);axis3.setYAxis(false);axis3.setMin((short) 0);axis3.setMax((short) 9);axis3.setStyle(axis3.getStyle() | AxisStyle.CENTERED);axis3.setLabel(3, "Group 1");axis3.setLabel(5, "Group 2");axis3.setLabel(9, "Group 3");axis3.getLine().setColor(new Color(255, 255, 0)); axis3.getGrid().setColor(new Color(255, 255, 0)); axis3.setCustomSteps(new double[] { 3, 2, 4 });
![Page 47: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/47.jpg)
SerLeg & SerKeySerLeg & SerKey
chart1.openData(COD.VALUES,5,6);for (int i=0;i<5;i++)
for (int j=0;j<6;j++) { chart1.setValue(i, j, Math.random() * 100); chart1.setSerLeg(i, "S" + (i+1)); chart1.setSerKey(i, "S" + (i+1));
}chart1.closeData(COD.VALUES);
chart1.setCluster(true);chart1.setChart3D(true);chart1.setSerLegBox(true);
![Page 48: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/48.jpg)
그 외 팁그 외 팁
![Page 49: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/49.jpg)
Headless EnvironmentHeadless EnvironmentJDK 1.4, XVFB, Exceed on Demand
![Page 50: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/50.jpg)
Cross-Hair & ClientScriptCross-Hair & ClientScript
Cross-Hair마우스를 차트에 대고 왼쪽 버튼을 누르면, 마무스 초점을 중심으로 십자형의 중심선이 나타나서, 값의 비교를 비교적 쉽게 한다.
관련 메소드 (Live / Edit)(Chart.)setCrossHairs(boolean value)
(Chart.)setTypeEx(int value)
(Chart.)isCrossHairs()
ClientScript (JavaScript / VBScript)Chart FX for .NET 예제를 참조하는 것이 좋다.
![Page 51: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/51.jpg)
Gantt-StackingGantt-Stacking
40일 (Live / Edit)
분기별 (Live / Edit)
![Page 52: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/52.jpg)
범례박스 크기의 고정범례박스 크기의 고정범례박스의 크기는 입력되는 범례의 폰트크기, 길이등에 의해서 자동으로 조절된다.미관상의 이유로, 범례박스의 크기를 고정시켜야할 경우도 있을 수 있다.관련 메소드 (Live / Edit)
(UserLegendBox.)setWidth(int);//Docked.LEFT 또는 Docked.RIGHT인 경우에만
(UserLegendBox.)setHeight(int);//Docked.TOP 또는 Docked.BOTTOM인 경우에만
(UserLegendBox.)setDocked(int);(UserLegendBox.)setAutoSize(boolean);
//default : false
6.0.1734 / 6.0.1605 / 6.0.1465
![Page 53: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/53.jpg)
각종 폰트 퍼짐 현상각종 폰트 퍼짐 현상타이틀용 폰트가 시스템과 관계없이 퍼지는 현상이 발생하는데, 이는 Anti-Aliasing 때문이다.관련 메소드 (Live / Edit)
(Chart.)setSmoothFlags(int value)주의사항글씨의 퍼짐 현상을 개선하기 위해 Anti-Aliasing 기능을 제거한경우, 라인차트의 라인의 계단현상이 심화될 수 있다.
![Page 54: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/54.jpg)
한글 폰트 설정법한글 폰트 설정법
한글 폰트 등록시스템 폰트로 등록 (TTF / TTC)
JVM 폰트로 등록 ($JAVA_HOME/jre/lib/fonts)
폰트 테스트 (Live / Edit)
![Page 55: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/55.jpg)
.NET Framework 다운로드.NET Framework 다운로드
1. Microsoft 사이트에 접속한다.
2. 좌측 메뉴의 Product Resources에서 ‘Downloads’를 선택한다.
3. 좌측 메뉴의 Download Categories에서 ‘Development Resources’를 선택한다.
4. Search for a Download의 Product/Technology (Optional)에서‘.NET’을 선택하고, Keywords(Optional)에 Framework를 입력하고Go를 누른다.
5. 검색된 항목중 ‘.NET Framework Version x.x Redistributable Package’를 선택한다.
6. 다운로드 받기전에, Change Language에서 Korean으로 변경후 Go를 누른다.
7. 한글 페이지로 변경이 되었다면, ‘.NET Framework 버전 x.x 재배포가능 패키지’로 되어있을 것이다. 이제 오른쪽에 위치한 ‘다운로드’버튼을 눌러서 다운로드 한다.
![Page 56: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/56.jpg)
.NET Framework 설정.NET Framework 설정
설정은 한글 Win XP Pro 기준으로시작→설정→제어판→관리 도구→Microsoft .NET Framework 1.1 Microsoft .NET Framework 1.1 구성구성에서 할 수 있다.기본적으로 HTTP : 80 포트는 무리없이 수행되지만, 다른 포트를 사용시에는 별도의 설정이 필요하다.만약 80외의 포트를 사용할 수 밖에 없다면, 클라이언트 마다.. 런타임 보안 정책→컴퓨터→코드 그룹→All_Code→자식 코드 그룹 추가을 통해서 타켓 URL/도메인과 포트를 추가해주고, ‘FullTrust’로 설정해 준다.
![Page 57: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/57.jpg)
버전별 .NET Ctrl 분석버전별 .NET Ctrl 분석
6.0.1734.18542 (Patch / Live / Edit)정상 작동(.NET Ctrl 버전은 6.0.1605와 동일)
6.0.1605.22277 (Patch / Live / Edit)정상 작동 버전
6.0.1465.26138 (Patch / Live / Edit)정상 작동 버전
![Page 58: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/58.jpg)
Designer in JDK 1.3Designer in JDK 1.3
관련조항If you are running J2SE 1.3, you will need to download and install Java API for XML Processing (JAXP). This may require Downloading the Java Web Services Developer Pack 1.x from http://java.sun.com. 하지만, JDK 1.3용 JAXP는 존재하지 않는다.
테스트 결과only JDK 1.3 : 실패
JDK 1.4 : 성공
JDK 1.3 + JAXP : 성공-Xbootclasspath/a:jaxp.jar
jaxp.jar를 –classpath에 추가하면 실패
jaxp.jar는 JDK 1.4가 설치된 머신에서 따로 추출한다.
![Page 59: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/59.jpg)
차트를 작게 만들때 유의점차트를 작게 만들때 유의점
차트가 작게 만들때, 실제 차트 표현 영역을예상 외로 작아진다.
예 Live / Edit
차트의 크기가 작아질때에 보더가 보이면답답해 보일 수 있다.
예 Live / Editchart1.setBorderObject(new DefaultBorder(0));
![Page 60: Chart FX for JAVA을 이용한Charting 프로그램community.chartfxkorea.com/BbsData/Club/20065/JP/CFXJavaSeminar… · import SoftwareFX.ChartFX.*; ChartServerchart1 = new ChartServer(application,request,response);](https://reader037.vdocuments.mx/reader037/viewer/2022102605/5a79dae17f8b9a9b4d8dc03c/html5/thumbnails/60.jpg)
Contact UsContact Us
E-Mail기술지원 http://www.yessdata.com 의
Club 또는 기술지원영업 [email protected]
전화영업 02)567-9169
홈 페이지국내총판 http://www.yessdata.com제작사 http://www.softwarefx.com제작사 기술정보
http://support.softwarefx.com/cfxjava