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

히포차트 4.3 - 현재 마우스가 위치한 곳의 YValue 값 알기







폼에 마우스를 갖다 댈 경우 해당 마우스 포인트가 위치한 곳의 Y축 값은 얼마일까요??

위 물음에 대한 샘플 코드입니다.

Interval / UnitPixel

과 같은 중요한 공식이 하나 나오니 좋은 참고되시기 바랍니다.




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


C#
 
private void Form1_Load(object sender, EventArgs e)
{
SeriesList sList = new SeriesList();
sList.ChartType = ChartType.Line;

sList.AxisFactor.YAxis.ExtraTicks.Add(new AxisTick());

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

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

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

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

}

private void hHippoChart1_ChartMouseMove(object sender, MouseEventArgs e)
{
if (this.hHippoChart1.SeriesListDictionary.Count > 0)
{
double zeroY = this.hHippoChart1.SeriesListDictionary[0].AxisFactor.Zero.Y;

float cY = (float)(zeroY - (e.Y));

// 가로 선
this.hHippoChart1.SeriesListDictionary[0].AxisFactor.YAxis.ExtraTicks[0].Value = cY * this.hHippoChart1.SeriesListDictionary[0].AxisFactor.YAxis.Interval / this.hHippoChart1.SeriesListDictionary[0].AxisFactor.YAxis.UnitPixel;
this.hHippoChart1.SeriesListDictionary[0].AxisFactor.YAxis.ExtraTicks[0].BackColor = System.Drawing.Color.Yellow;
this.hHippoChart1.SeriesListDictionary[0].AxisFactor.YAxis.ExtraTicks[0].Label.ForeColor = System.Drawing.Color.Black;

double mousrVal = this.hHippoChart1.SeriesListDictionary[0].AxisFactor.YAxis.ExtraTicks[0].Value;

this.hHippoChart1.SeriesListDictionary[0].AxisFactor.YAxis.ExtraTicks[0].Label.Text = mousrVal.ToString("n0");
this.hHippoChart1.DrawChart();
}
}


VB
 
Private Sub Form1_Load(sender As Object, e As EventArgs)
Dim sList As New. SeriesList()
sList.ChartType = ChartType.Line

sList.AxisFactor.YAxis.ExtraTicks.Add(New AxisTick())

Dim r As New. Random()
For i As Integer = 0 To 0
Dim sr As New. Series()
sr.Line.LineWidth = 2
sr.Points.Width = 15
sr.Points.PointType = PointType.FillCircle

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

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)
If Me.hHippoChart1.SeriesListDictionary.Count > 0 Then
Dim zeroY As Double = Me.hHippoChart1.SeriesListDictionary(0).AxisFactor.Zero.Y

Dim cY As Single = CSng(zeroY - (e.Y))

` 가로 선
Me.hHippoChart1.SeriesListDictionary(0).AxisFactor.YAxis.ExtraTicks(0).Value = cY * Me.hHippoChart1.SeriesListDictionary(0).AxisFactor.YAxis.Interval / Me.hHippoChart1.SeriesListDictionary(0).AxisFactor.YAxis.UnitPixel
Me.hHippoChart1.SeriesListDictionary(0).AxisFactor.YAxis.ExtraTicks(0).BackColor = System.Drawing.Color.Yellow
Me.hHippoChart1.SeriesListDictionary(0).AxisFactor.YAxis.ExtraTicks(0).Label.ForeColor = System.Drawing.Color.Black

Dim mousrVal As Double = Me.hHippoChart1.SeriesListDictionary(0).AxisFactor.YAxis.ExtraTicks(0).Value

Me.hHippoChart1.SeriesListDictionary(0).AxisFactor.YAxis.ExtraTicks(0).Label.Text = mousrVal.ToString("n0")
Me.hHippoChart1.DrawChart()
End If
End Sub


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

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

helpdesk@hippochart.com





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