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

마우스 Move 이벤트를 통해 수치 표현







마우스 이벤트와 풍선 도움말을 통해 보다 예쁘게 수치를 표현하는 방법을 알아봅니다.




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


C#
 
private void draw4()
{
this.hHippoChart1.SeriesListDictionary.Clear();

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

Random r = new Random();
for(int i = 0; i < 1; i++)
{
Series sr = new Series();
sr.Line.LineWidth = 4;
sr.Points.Width = 10;
sr.Points.PointType = PointType.FillCircle;
sr.IsLineShadowEffect = true;

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

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++)
{
PointF firstpoint = this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[0].items[i].FigurePoint;

float lastPoX = (float)(firstpoint.X + this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[0].items[i].Column.Width);
float lastPoY = (float)(firstpoint.Y + this.hHippoChart1.SeriesListDictionary[0].AxisFactor.YAxis.UnitPixel * this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[0].items[i].YValue);

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;
this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[0].items[i].ItemColor = Color.YellowGreen;
}
else
{
this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[0].items[i].Balloon.Visible = false;
this.hHippoChart1.SeriesListDictionary[0].SeriesCollection[0].items[i].ItemColor = Color.Empty;
}
}

this.hHippoChart1.DrawChart();
}


VB
 
Private Sub draw4()
Me.hHippoChart1.SeriesListDictionary.Clear()

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

Dim r As New. Random()
For i As Integer = 0 To 0
Dim sr As New. Series()
sr.Line.LineWidth = 4
sr.Points.Width = 10
sr.Points.PointType = PointType.FillCircle
sr.IsLineShadowEffect = True

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

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 firstpoint As PointF = Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(0).items(i).FigurePoint

Dim lastPoX As Single = CSng(firstpoint.X + Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(0).items(i).Column.Width)
Dim lastPoY As Single = CSng(firstpoint.Y + Me.hHippoChart1.SeriesListDictionary(0).AxisFactor.YAxis.UnitPixel * Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(0).items(i).YValue)

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
Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(0).items(i).ItemColor = Color.YellowGreen
Else
Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(0).items(i).Balloon.Visible = False
Me.hHippoChart1.SeriesListDictionary(0).SeriesCollection(0).items(i).ItemColor = Color.Empty
End If
Next

Me.hHippoChart1.DrawChart()
End Sub


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

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

helpdesk@hippochart.com





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