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

히포차트 4.1 - 간트차트 (마일스톤, 그룹화)







히포차트 4.1 버전에서 추가될 간트차트를 미리 공개해봅니다. 마일스톤과 그룹화, 크리티컬 패스 등 다양하게 활용이 가능합니다.




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=`C:\Users\neohippo\Dropbox\Projects\_Hippochart\Hippo 4.1\Hippo Chart 2010 4\HippoChartBeta\WindowsHippoTest\프로젝트간트차트샘플.xlsx`;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 .Interval = 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;

AxisMarker mk = new AxisMarker("Start Project", DateTime.Parse( "2012-04-01" ));
mk .BringToFront = true;
mk .TextFormat.FormatFlags = StringFormatFlags.DirectionVertical;
mk .TextFormat.LineAlignment = StringAlignment. Near;
mk .TextFormat.Alignment = StringAlignment. Far;
mk .Line.DashStyle = System.Drawing .Drawing2D.DashStyle .Dash;
mk .Line.LineColor = Color .Red;
mk .Line.LineWidth = 1;
mk .Label.ForeColor = Color .Red;
sList .AxisFactor.YAxis .Markers.Add(mk);

AxisMarker mk2 = new AxisMarker("Today", DateTime.Parse( "2012-07-11" ));
mk2 .BringToFront = true;
mk2 .TextFormat.FormatFlags = StringFormatFlags.DirectionVertical;
mk2 .TextFormat.LineAlignment = StringAlignment. Near;
mk2 .TextFormat.Alignment = StringAlignment. Far;
mk2 .Line.DashStyle = System.Drawing .Drawing2D.DashStyle .Solid;
mk2 .Line.LineColor = Color .Blue;
mk2 .Line.LineWidth = 1;
mk2 .Label.ForeColor = Color .Blue;
sList .AxisFactor.YAxis .Markers.Add(mk2);

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[ 1].ItemColor = Color .Red;

sList .SeriesCollection[0].items[ 2].ItemColor = Color .FromArgb(107, 202 , 102);
sList .SeriesCollection[0].items[ 3].ItemColor = Color .FromArgb(107, 202 , 102);
sList .SeriesCollection[0].items[ 4].ItemColor = Color .FromArgb(107, 202 , 102);

sList .SeriesCollection[0].items[ 5].ItemColor = Color .FromArgb(74, 126 , 225);
sList .SeriesCollection[0].items[ 6].ItemColor = Color .FromArgb(74, 126 , 225);
sList .SeriesCollection[0].items[ 7].ItemColor = Color .FromArgb(74, 126 , 225);
sList .SeriesCollection[0].items[ 8].ItemColor = Color .FromArgb(74, 126 , 225);
sList .SeriesCollection[0].items[ 10].ItemColor = Color .FromArgb(74, 126 , 225);

sList .SeriesCollection[0].items[ 11].ItemColor = Color .FromArgb(140, 202 , 249);
sList .SeriesCollection[0].items[ 12].ItemColor = Color .FromArgb(140, 202 , 249);
sList .SeriesCollection[0].items[ 13].ItemColor = Color .FromArgb(140, 202 , 249);

sList .SeriesCollection[0].items[ 14].ItemColor = Color .Yellow;
sList .SeriesCollection[0].items[ 15].ItemColor = Color .Red;

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[ 2].GanttName .Text = "배용준";
sList .SeriesCollection[0].items[ 5].GanttName .Text = "장동건 정우성 전지현 김창준";
sList .SeriesCollection[0].items[ 10].GanttName .Text = "김태희 한석규 ";

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[0].GanttProcess.ProcessColor = Color.FromArgb(140, 202, 249);
//sList.SeriesCollection[0].items[1].GanttProcess.ProcessColor = Color.FromArgb(107, 202, 102);
//sList.SeriesCollection[0].items[3].GanttProcess.ProcessColor = Color.Red;

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
 
Hippo .HippoEngine en = new HippoEngine();
en .DataType = DataSourceType.Excel;
en .ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=`C:\Users\neohippo\Dropbox\Projects\_Hippochart\Hippo 4.1\Hippo Chart 2010 4\HippoChartBeta\WindowsHippoTest\프로젝트간트차트샘플.xlsx`;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 .Interval = 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;

AxisMarker mk = new AxisMarker("Start Project", DateTime.Parse( "2012-04-01" ));
mk .BringToFront = true;
mk .TextFormat.FormatFlags = StringFormatFlags.DirectionVertical;
mk .TextFormat.LineAlignment = StringAlignment. Near;
mk .TextFormat.Alignment = StringAlignment. Far;
mk .Line.DashStyle = System.Drawing .Drawing2D.DashStyle .Dash;
mk .Line.LineColor = Color .Red;
mk .Line.LineWidth = 1;
mk .Label.ForeColor = Color .Red;
sList .AxisFactor.YAxis .Markers.Add(mk);

AxisMarker mk2 = new AxisMarker("Today", DateTime.Parse( "2012-07-11" ));
mk2 .BringToFront = true;
mk2 .TextFormat.FormatFlags = StringFormatFlags.DirectionVertical;
mk2 .TextFormat.LineAlignment = StringAlignment. Near;
mk2 .TextFormat.Alignment = StringAlignment. Far;
mk2 .Line.DashStyle = System.Drawing .Drawing2D.DashStyle .Solid;
mk2 .Line.LineColor = Color .Blue;
mk2 .Line.LineWidth = 1;
mk2 .Label.ForeColor = Color .Blue;
sList .AxisFactor.YAxis .Markers.Add(mk2);

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[ 1].ItemColor = Color .Red;

sList .SeriesCollection[0].items[ 2].ItemColor = Color .FromArgb(107, 202 , 102);
sList .SeriesCollection[0].items[ 3].ItemColor = Color .FromArgb(107, 202 , 102);
sList .SeriesCollection[0].items[ 4].ItemColor = Color .FromArgb(107, 202 , 102);

sList .SeriesCollection[0].items[ 5].ItemColor = Color .FromArgb(74, 126 , 225);
sList .SeriesCollection[0].items[ 6].ItemColor = Color .FromArgb(74, 126 , 225);
sList .SeriesCollection[0].items[ 7].ItemColor = Color .FromArgb(74, 126 , 225);
sList .SeriesCollection[0].items[ 8].ItemColor = Color .FromArgb(74, 126 , 225);
sList .SeriesCollection[0].items[ 10].ItemColor = Color .FromArgb(74, 126 , 225);

sList .SeriesCollection[0].items[ 11].ItemColor = Color .FromArgb(140, 202 , 249);
sList .SeriesCollection[0].items[ 12].ItemColor = Color .FromArgb(140, 202 , 249);
sList .SeriesCollection[0].items[ 13].ItemColor = Color .FromArgb(140, 202 , 249);

sList .SeriesCollection[0].items[ 14].ItemColor = Color .Yellow;
sList .SeriesCollection[0].items[ 15].ItemColor = Color .Red;

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[ 2].GanttName .Text = "배용준";
sList .SeriesCollection[0].items[ 5].GanttName .Text = "장동건 정우성 전지현 김창준";
sList .SeriesCollection[0].items[ 10].GanttName .Text = "김태희 한석규 ";

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[0].GanttProcess.ProcessColor = Color.FromArgb(140, 202, 249);
//sList.SeriesCollection[0].items[1].GanttProcess.ProcessColor = Color.FromArgb(107, 202, 102);
//sList.SeriesCollection[0].items[3].GanttProcess.ProcessColor = Color.Red;

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();



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

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

helpdesk@hippochart.com





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