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

라인차트 마우스무브 이벤트 데이터 수치 보이기







꺽은선 차트에서 마우스를 포인트에 갖다 댈 경우 수치를 보이거나 풍선 도움말을 보이도록 이벤트를 줄 수 있습니다.




차트 영역 드래그 하기  마우스 Move 이벤트를 통해 수치 표현  박스플롯차트 마우스 이벤트(수치보기)  범례 클릭 마우스 이벤트 주기  주식차트 마우스무브 이벤트로 십자 라인 그리기  라인차트 마우스무브 이벤트 데이터 수치 보이기  히포차트 4.3 - 현재 마우스가 위치한 곳의 YValue 값 알기  


C#
 
private void Form1_Load(object sender, EventArgs e)
{
this.hHippoChart1.SeriesListDictionary.Clear();

SeriesList sList = new SeriesList();
sList.ChartType = ChartType.Line;

Random r = new Random();
for(int i = 0; i < 1; i++)
{
Series sr = new Series();
sr.Line.LineWidth = 5;
sr.Points.Width = 10;

for(int x = 0; x < 5; x++)
{
SeriesItem item = new SeriesItem();
item.Name = "item" + x.ToString();
item.YValue = r.Next(900);

item.Balloon = new Balloon();
item.Balloon.Label.Text = item.YValue.ToString();
item.Balloon.Visible = false;

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

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

private void hHippoChart1_ChartMouseMove(object sender, MouseEventArgs e)
{
for(int i = 0; i < this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[0].items.Count; i++)
{
// 포인트 넓이
float pwidth = this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[0].items[i].Points.Width;

PointF firstpoint
= new PointF
(
this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[0].items[i].FigurePoint.X - pwidth,
this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[0].items[i].FigurePoint.Y - pwidth
);

float lastPoX = (float)(firstpoint.X + pwidth);
float lastPoY = (float)(firstpoint.Y + pwidth);

PointF lastPoint = new PointF(lastPoX, lastPoY);

if (e.X >= firstpoint.X && e.X <= lastPoint.X && e.Y >= firstpoint.Y && e.Y <= lastPoint.Y)
{
this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[0].items[i].Balloon.Visible = true;
}
else
{
this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[0].items[i].Balloon.Visible = false;
}
}

this.hHippoChart1.DrawChart();
}


VB
 

Private Sub Form1_Load(sender As Object, e As EventArgs)
Me.hHippoChart1.SeriesListDictionary.Clear()

Dim sList As New. SeriesList()
sList.ChartType = ChartType.Line

Dim r As New. Random()
For i As Integer = 0 To 0
Dim sr As New. Series()
sr.Line.LineWidth = 5
sr.Points.Width = 10

For x As Integer = 0 To 4
Dim item As New. SeriesItem()
item.Name = "item" + x.ToString()
item.YValue = r.[Next](900)

item.Balloon = New Balloon()
item.Balloon.Label.Text = item.YValue.ToString()
item.Balloon.Visible = False

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

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

Private Sub hHippoChart1_ChartMouseMove(sender As Object, e As MouseEventArgs)
For i As Integer = 0 To Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(0).items.Count - 1
` 포인트 넓이
Dim pwidth As Single = Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(0).items(i).Points.Width

Dim firstpoint As New. PointF(Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(0).items(i).FigurePoint.X - pwidth, Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(0).items(i).FigurePoint.Y - pwidth)

Dim lastPoX As Single = CSng(firstpoint.X + pwidth)
Dim lastPoY As Single = CSng(firstpoint.Y + pwidth)

Dim lastPoint As New. PointF(lastPoX, lastPoY)

If e.X >= firstpoint.X AndAlso e.X <= lastPoint.X AndAlso e.Y >= firstpoint.Y AndAlso e.Y <= lastPoint.Y Then
Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(0).items(i).Balloon.Visible = True
Else
Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(0).items(i).Balloon.Visible = False
End If
Next

Me.hHippoChart1.DrawChart()
End Sub



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

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

helpdesk@hippochart.com





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