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

실시간 Radar (방사형) 차트 샘플 코드







히포차트 4.3 버전으로 작성된 샘플 코드입니다.

일반적으로 라인, 막대 등이 실시간 차트로 사용이 되는데요, 레이더 차트일 경우에 사용하는 방법을 알아봅니다.

시나리오는 전체 360도 중 10도 간격으로 영역이 지정되어 있고 데이터가 1초마다 각 각도별로 넘어오는 데이터입니다.

Timer 객체를 활용하여 랜덤 데이터로 테스트 해보시기 바랍니다




Radar - Polygon1, Area  Radar - Circle, Point  Radar - Polygon2, Line  [히포차트 4.2] 파이형 방사형 차트 추가  실시간 Radar (방사형) 차트 샘플 코드  


C#
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Hippo;

namespace WindowsApplication2
{
public partial class Form1 : Form
{
SeriesList sList = new SeriesList();
int angleIdx = 0;

public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{
sList.ChartType = ChartType.Radar;
sList.Margin = 20;

Random r = new Random();
for(int i = 0; i < 1; i++)
{
Series sr = new Series();

for(int x = 0; x < 36; x++)
{
SeriesItem item = new SeriesItem();
item.Name = Convert.ToString((x * 10));

sr.items.Add(item);
}
sList.SeriesCollection.Add(sr);
}

this.hHippoChart1.SeriesListDictionary.Add(sList);
this.hHippoChart1.DrawChart();

this.timer1.Interval = 1000;
this.timer1.Start();
}

private void timer1_Tick(object sender, EventArgs e)
{
sList.SeriesCollection[0].items[angleIdx].YValue = new Random().Next(50, 99);

angleIdx++;

this.hHippoChart1.DrawChart();

if (angleIdx > 35) this.timer1.Stop();
}
}
}


VB
 

Imports System.Collections.Generic
Imports System.ComponentModel
Imports System.Data
Imports System.Drawing
Imports System.Text
Imports System.Windows.Forms
Imports Hippo

Namespace WindowsApplication2
Public Partial Class Form1
Inherits Form
Private sList As New. SeriesList()
Private angleIdx As Integer = 0

Public Sub New()
InitializeComponent()
End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs)
sList.ChartType = ChartType.Radar
sList.Margin = 20

Dim r As New. Random()
For i As Integer = 0 To 0
Dim sr As New. Series()

For x As Integer = 0 To 35
Dim item As New. SeriesItem()
item.Name = Convert.ToString((x * 10))

sr.items.Add(item)
Next
sList.SeriesCollection.Add(sr)
Next

Me.hHippoChart1.SeriesListDictionary.Add(sList)
Me.hHippoChart1.DrawChart()

Me.timer1.Interval = 1000
Me.timer1.Start()
End Sub

Private Sub timer1_Tick(sender As Object, e As EventArgs)
sList.SeriesCollection(0).items(angleIdx).YValue = New Random().[Next](50, 99)

angleIdx += 1

Me.hHippoChart1.DrawChart()

If angleIdx > 35 Then
Me.timer1.[Stop]()
End If
End Sub
End Class
End Namespace



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

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

helpdesk@hippochart.com





Copyright © 2009-2018 HippoChart. Inc.  All Rights Reserved.