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

히포차트 4.3 - 실시간 차트 기본 샘플 (기초 이론)







amoxicillin 500mg how to take

buy amoxicillin for fish

accutane without side effects

accutane without birth control
히포차트로 실시간 차트를 그리는 기본 이론을 소개합니다.

보통 RealtimeChart()를 이용할 수 있지만 아래와 같은 기본 개념을 이해하시면 더욱 활용성이 높아집니다.

주석과 함께 샘플 코드를 실행해보시기 바랍니다.




멀티 시리즈 실시간 차트  히포차트 실시간 차트에 대한 고찰(?)  CPU 사용률 차트 - 실시간 차트  실시간 차트를 그리는 다른 방법 (Tip)  [기본] 실시간 차트 그리기 (히포차트 4.2 이상)  히포차트 4.3 - 실시간 차트 기본 샘플 (기초 이론)  


C#
 
SeriesList sList = new SeriesList();

// 차트에 한번에 그려질 데이터 개수 결정
double[] dataList = new double[20];

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
this.timer1.Interval = 1000;

// 차트로 그릴 데이터셋 초기화
for(int i = 0; i < dataList.Length; i++ )
{
dataList[i] = double.NaN;
}

// 각종 차트 설정 초기화
sList.ChartType = ChartType.Line;
sList.AxisFactor.BackColor = Color.Khaki;

Series sr = new Series();
sr.Line.LineWidth = 2;
sr.Points.Width = 3;

// 시리즈아이템 생성 및 이름 결정
for(int i = 0; i < dataList.Length; i++)
{
SeriesItem item = new SeriesItem();
item.Name = "item" + i.ToString();

sr.items.Add(item);
}

sList.SeriesCollection.Add(sr);

hHippoChart1.SeriesListDictionary.Add(sList);

this.timer1.Start();
}

private void Draw(double addData)
{
// 기존 데이터 Shift
for(int i = 0; i < dataList.Length; i++)
{
if (i > 1)
{
dataList[i - 1] = dataList[i];
}
}

// 마지막 인덱스에 현재 생성한 데이터 입력
dataList[dataList.Length - 1] = addData;

// 데이터셋을 시리즈아이템에 입력
for(int i = 0; i < dataList.Length; i++)
{
sList.SeriesCollection[0].items[i].YValue = dataList[i];
}

// 그리기
hHippoChart1.DrawChart();
}

private void timer1_Tick(object sender, EventArgs e)
{
// 실시간 데이터 받아오기
Random r = new Random();
Draw(r.Next(99));
}


VB
 

Private sList As New. SeriesList()

` 차트에 한번에 그려질 데이터 개수 결정
Private dataList As Double() = New Double(19) {}

Public Sub New()
InitializeComponent()
End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs)
Me.timer1.Interval = 1000

` 차트로 그릴 데이터셋 초기화
For i As Integer = 0 To dataList.Length - 1
dataList(i) = Double.NaN
Next

` 각종 차트 설정 초기화
sList.ChartType = ChartType.Line
sList.AxisFactor.BackColor = Color.Khaki

Dim sr As New. Series()
sr.Line.LineWidth = 2
sr.Points.Width = 3

` 시리즈아이템 생성 및 이름 결정
For i As Integer = 0 To dataList.Length - 1
Dim item As New. SeriesItem()
item.Name = "item" + i.ToString()

sr.items.Add(item)
Next

sList.SeriesCollection.Add(sr)

hHippoChart1.SeriesListDictionary.Add(sList)

Me.timer1.Start()
End Sub

Private Sub Draw(addData As Double)
` 기존 데이터 Shift
For i As Integer = 0 To dataList.Length - 1
If i > 1 Then
dataList(i - 1) = dataList(i)
End If
Next

` 마지막 인덱스에 현재 생성한 데이터 입력
dataList(dataList.Length - 1) = addData

` 데이터셋을 시리즈아이템에 입력
For i As Integer = 0 To dataList.Length - 1
sList.SeriesCollection(0).items(i).YValue = dataList(i)
Next

` 그리기
hHippoChart1.DrawChart()
End Sub

Private Sub timer1_Tick(sender As Object, e As EventArgs)
` 실시간 데이터 받아오기
Dim r As New. Random()
Draw(r.[Next](99))
End Sub



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

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

helpdesk@hippochart.com





Copyright © 2009-2024 히포소프트(Hipposoft)   All Rights Reserved.