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

파레토 차트(Pareto Chart)







히포차트의 이중축 혼합형 기능을 이용하여 파레토 차트를 그릴 수 있습니다.




멀티축 - 스케일에 따른 이중 축 구현법  추가된 축 디자인  2개 이상 축을 추가할 경우  파레토 차트(Pareto Chart)  


C#
 
Random r = new Random();

SeriesList sList2 = new SeriesList();
sList2.ChartType = ChartType.Column;

Series sr = new Series();

for(int x = 0; x < 5; x++)
{
SeriesItem item = new SeriesItem();
item.Name = "item" + x.ToString();
item.YValue = 90 - x * 10 - 33;

sr.items.Add(item);
}

sList2.SeriesCollection.Add(sr);

this.hHippoChart1.PaletteType = PaletteType.Classic;
this.hHippoChart1.SeriesListDictionary.Add(sList2);
this.hHippoChart1.DrawChart();

//파레토 라인 추가
Series NewSeries = new Series();
NewSeries.Line.LineWidth = 7;
NewSeries.Points.Width = 7;
NewSeries.Points.PointType = PointType.Circle;

Axis paax = new Axis(AxisType.Ytype);
paax.FigureFormat = FigureFormat.Percent;
paax.Decimalpoint = 0;
paax.SetAxisStep(0, 1.2, 0.2);

sList2.AxisFactor.AxisItems.Clear();
sList2.AxisFactor.AxisItems.Add(paax);

NewSeries.Name = "Pareto";
NewSeries.AxisIndex = 1;
NewSeries.ChartType = ChartType.Line;

double UnitSpan = sList2.AxisFactor.YAxis.MaxUnitValue;

// 총 항목들의 합
float Sum = (float)sList2.AxisFactor.YAxis.AnalysisItems[AnalysisCategory.Sum].Value;

// 누적되면서 계속 더해지는 값
double SumPart = 0;

foreach(SeriesItem item in sList2.SeriesCollection[0].items)
{
SumPart += item.YValue;

SeriesItem item2 = new SeriesItem();
item2.YValue = (float)(SumPart / (Sum));
item2.Name = item.Name;

NewSeries.items.Add(item2);
}

sList2.SeriesCollection.Add(NewSeries);
this.hHippoChart1.DrawChart();


VB
 
Dim r As New. Random()

Dim sList2 As New. SeriesList()
sList2.ChartType = ChartType.Column

Dim sr As New. Series()

For x As Integer = 0 To 4
Dim item As New. SeriesItem()
item.Name = "item" + x.ToString()
item.YValue = 90 - x * 10 - 33

sr.items.Add(item)
Next

sList2.SeriesCollection.Add(sr)

Me.hHippoChart1.PaletteType = PaletteType.Classic
Me.hHippoChart1.SeriesListDictionary.Add(sList2)
Me.hHippoChart1.DrawChart()

`파레토 라인 추가
Dim NewSeries As New. Series()
NewSeries.Line.LineWidth = 7
NewSeries.Points.Width = 7
NewSeries.Points.PointType = PointType.Circle

Dim paax As New. Axis(AxisType.Ytype)
paax.FigureFormat = FigureFormat.Percent
paax.Decimalpoint = 0
paax.SetAxisStep(0, 1.2, 0.2)

sList2.AxisFactor.AxisItems.Clear()
sList2.AxisFactor.AxisItems.Add(paax)

NewSeries.Name = "Pareto"
NewSeries.AxisIndex = 1
NewSeries.ChartType = ChartType.Line

Dim UnitSpan As Double = sList2.AxisFactor.YAxis.MaxUnitValue

` 총 항목들의 합
Dim Sum As Single = CSng(sList2.AxisFactor.YAxis.AnalysisItems(AnalysisCategory.Sum).Value)

` 누적되면서 계속 더해지는 값
Dim SumPart As Double = 0

For Each item As SeriesItem In sList2.SeriesCollection(0).items
SumPart += item.YValue

Dim item2 As New. SeriesItem()
item2.YValue = CSng(SumPart / (Sum))
item2.Name = item.Name

NewSeries.items.Add(item2)
Next

sList2.SeriesCollection.Add(NewSeries)
Me.hHippoChart1.DrawChart()


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

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

helpdesk@hippochart.com





Copyright © 2009-2018 투데이트레이딩. Inc.  All Rights Reserved.