Home 소개       다운로드       온라인 설명서      주식/코인 차트    Q & A     Blog    

간트차트 좀 더 자세한 설정







간트차트에 대한 보다 많은 설정 사항 방법을 소개합니다. 코드를 복사하신 후 주석을 참고하셔서 테스트해보시기 바랍니다.




Gantt chart  Gantt chart - multi series  Gantt chart - arrow, process, peoples  간트차트 - 시간/분 스케일  히포차트 4.1 - 간트차트 (마일스톤, 그룹화)  간트차트 좀 더 자세한 설정  히포차트 4.3 - 날짜형 축을 이용한 간트차트 (월별)  히포차트 4.3 - 간트차트(Gantt chart) 마우스 이동하여 날짜 변경하기  


C#
 
Hippo.HippoEngine en = new HippoEngine();
en.DataType = DataSourceType.Excel;
en.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=`파일경로`;Extended Properties=`Excel 12.0;HDR=YES`";
en.Query = "select * from [Sheet1$]";

SeriesList sList = en.GetSeriesListOfGantt(AxisDataType.DateTime, "항목", "시작일자", "종료일자");

sList.ChartType = ChartType.Gantt;
sList.AxisFactor.YAxis.DataType = AxisDataType.DateTime;
//스케일 조정
sList.AxisFactor.YAxis.SetAxisStep(DateTime.Parse("2012-04-01"), DateTime.Parse("2012-09-15"), 15);
sList.AxisFactor.YAxis.DateTimeFormat = "MM-dd";

sList.AxisFactor.XAxis.Interval = 1;
sList.AxisFactor.XAxis.LabelFormat = new StringFormat();
sList.AxisFactor.XAxis.LabelFormat.LineAlignment = StringAlignment.Center;
sList.AxisFactor.XAxis.LabelFormat.Alignment = StringAlignment.Near;
sList.AxisFactor.XAxis.IsShowTick = false;

// 넓이 조절
foreach(Series sr in sList.SeriesCollection)
{
sr.Column.WidthType = ColumnWidthType.Custom;
sr.Column.Width = 15;
}

sList.SeriesCollection[0].items[0].IsMilestone = true;
sList.SeriesCollection[0].items[9].IsMilestone = true;
sList.SeriesCollection[0].items[15].IsMilestone = true;

sList.SeriesCollection[0].items[2].IsGroupBoss = true;
sList.SeriesCollection[0].items[5].IsGroupBoss = true;
sList.SeriesCollection[0].items[11].IsGroupBoss = true;

sList.SeriesCollection[0].items[2].ParentIndex = 8;
sList.SeriesCollection[0].items[4].ParentIndex = 5;
sList.SeriesCollection[0].items[5].ParentIndex = 13;

sList.SeriesCollection[0].items[6].ParentIndex = 9;
sList.SeriesCollection[0].items[7].ParentIndex = 9;
sList.SeriesCollection[0].items[8].ParentIndex = 9;
sList.SeriesCollection[0].items[9].ParentIndex = 10;

sList.SeriesCollection[0].items[14].ParentIndex = 15;

sList.SeriesCollection[0].items[1].GanttName.Text = "김철수, 한국진 ";

// 글자 위치 조정
sList.SeriesCollection[0].items[1].GanttProcess.TextLocation = StringAlignment.Far;


sList.SeriesCollection[0].items[4].GanttProcess.Percent = 1;

sList.SeriesCollection[0].items[5].GanttProcess.Percent = (1 + 0.79 + 0.8 + 0.23) / 4;
sList.SeriesCollection[0].items[6].GanttProcess.Percent = 1;
sList.SeriesCollection[0].items[7].GanttProcess.Percent = 0.79;
sList.SeriesCollection[0].items[8].GanttProcess.Percent = 0.8;
sList.SeriesCollection[0].items[10].GanttProcess.Percent = 0.23;

// 글자 폰트 조정
sList.SeriesCollection[0].items[5].GanttProcess.Label.Font = new Font("굴림", 20, FontStyle.Bold);
sList.SeriesCollection[0].items[5].GanttProcess.Label.ForeColor = Color.SteelBlue;

// 진행율 색상 조정
sList.SeriesCollection[0].items[5].GanttProcess.ProcessColor = Color.Green;

sList.SeriesCollection[0].ArrowLine.LineWidth = 1;
sList.SeriesCollection[0].ArrowLine.DashStyle = System.Drawing.Drawing2D.DashStyle.Solid;
sList.SeriesCollection[0].ArrowLine.LineColor = Color.Red;

sList.AxisFactor.Orientation = AxisOrientation.TopLeft;


this.hHippoChart1.Titles.Label.Text = "HIPPOCHART PROJECT SCHEDULES";
this.hHippoChart1.SeriesListDictionary.Add(sList);
this.hHippoChart1.LegendBox.Visible = false;
this.hHippoChart1.DrawChart();


VB
 
Dim en As Hippo.HippoEngine = New HippoEngine()
en.DataType = DataSourceType.Excel
en.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=`파일경로`;Extended Properties=`Excel 12.0;HDR=YES`"
en.Query = "select * from [Sheet1$]"

Dim sList As SeriesList = en.GetSeriesListOfGantt(AxisDataType.DateTime,"항목","시작일자","종료일자")

sList.ChartType = ChartType.Gantt
sList.AxisFactor.YAxis.DataType = AxisDataType.DateTime
`스케일 조정
sList.AxisFactor.YAxis.SetAxisStep(DateTime.Parse("2012-04-01"), DateTime.Parse("2012-09-15"), 15)
sList.AxisFactor.YAxis.DateTimeFormat = "MM-dd"

sList.AxisFactor.XAxis.Interval = 1
sList.AxisFactor.XAxis.LabelFormat = New StringFormat()
sList.AxisFactor.XAxis.LabelFormat.LineAlignment = StringAlignment.Center
sList.AxisFactor.XAxis.LabelFormat.Alignment = StringAlignment.Near
sList.AxisFactor.XAxis.IsShowTick = False

` 넓이 조절
Dim sr As Series
For Each sr In sList.SeriesCollection
sr.Column.WidthType = ColumnWidthType.Custom
sr.Column.Width = 15
Next

sList.SeriesCollection(0).items(0).IsMilestone = True
sList.SeriesCollection(0).items(9).IsMilestone = True
sList.SeriesCollection(0).items(15).IsMilestone = True

sList.SeriesCollection(0).items(2).IsGroupBoss = True
sList.SeriesCollection(0).items(5).IsGroupBoss = True
sList.SeriesCollection(0).items(11).IsGroupBoss = True

sList.SeriesCollection(0).items(2).ParentIndex = 8
sList.SeriesCollection(0).items(4).ParentIndex = 5
sList.SeriesCollection(0).items(5).ParentIndex = 13

sList.SeriesCollection(0).items(6).ParentIndex = 9
sList.SeriesCollection(0).items(7).ParentIndex = 9
sList.SeriesCollection(0).items(8).ParentIndex = 9
sList.SeriesCollection(0).items(9).ParentIndex = 10

sList.SeriesCollection(0).items(14).ParentIndex = 15

sList.SeriesCollection(0).items(1).GanttName.Text = "김철수, 한국진 "

` 글자 위치 조정
sList.SeriesCollection(0).items(1).GanttProcess.TextLocation = StringAlignment.Far


sList.SeriesCollection(0).items(4).GanttProcess.Percent = 1

sList.SeriesCollection(0).items(5).GanttProcess.Percent = (1 + 0.79 + 0.8 + 0.23) / 4
sList.SeriesCollection(0).items(6).GanttProcess.Percent = 1
sList.SeriesCollection(0).items(7).GanttProcess.Percent = 0.79
sList.SeriesCollection(0).items(8).GanttProcess.Percent = 0.8
sList.SeriesCollection(0).items(10).GanttProcess.Percent = 0.23

` 글자 폰트 조정
sList.SeriesCollection(0).items(5).GanttProcess.Label.Font = New Font("굴림", 20, FontStyle.Bold)
sList.SeriesCollection(0).items(5).GanttProcess.Label.ForeColor = Color.SteelBlue

` 진행율 색상 조정
sList.SeriesCollection(0).items(5).GanttProcess.ProcessColor = Color.Green

sList.SeriesCollection(0).ArrowLine.LineWidth = 1
sList.SeriesCollection(0).ArrowLine.DashStyle = System.Drawing.Drawing2D.DashStyle.Solid
sList.SeriesCollection(0).ArrowLine.LineColor = Color.Red

sList.AxisFactor.Orientation = AxisOrientation.TopLeft


Me.hHippoChart1.Titles.Label.Text = "HIPPOCHART PROJECT SCHEDULES"
Me.hHippoChart1.SeriesListDictionary.Add(sList)
Me.hHippoChart1.LegendBox.Visible = False
Me.hHippoChart1.DrawChart()


※ 히포차트 샘플 코드는 버전별로 상이한 결과를 나타낼 수 있습니다.

이 코드 관련 문의 사항은 페이스북 리플을 달아주시거나 아래 이메일로 이 페이지 주소와 함께 문의주세요.

helpdesk@hippochart.com





Copyright © 2009-2016, HippoChart. Inc.  All Rights Reserved.