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

히포차트 4.3 - Graphics 객체를 사용해 그래프 위에 다른 그림 그리기







히포차트 이미지를 그래픽 객체로 받아서 차트 위에 원, 표식, 라인 등을 자유롭게 그릴 수 있는 기능을 공유합니다.

보통 paint 이벤트를 많이 사용하지만 히포차트에서는 더욱 편리한 방식으로 쉽게 부가적인 요소들을 표시할 수 있습니다. 물론 차트의 상대적인 위치 체계를 학습하실 경우 더욱 디테일한 내용을 그릴 수 있음을 참고하시기 바랍니다.




[히포차트 4.2] 엑셀 내보내기 기능 추가   [히포차트 4.2] 다중시리즈리스트 샘플   [히포차트 4.2] 마이크로차트를 위한 히든 객체 공개  히포차트 4.3 레포트 - 인쇄하기 샘플 (PrintDialog, PrintPreviewDialog)  히포차트 4.3 - 정규분포 곡선 그리기  히포차트 4.3 - Graphics 객체를 사용해 그래프 위에 다른 그림 그리기  히포차트 4.3 - 매틀랩(matlab) 스무싱 기법 (smoothing), 피크 지점 찾기 (Peak Detection)  


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 HippoGraphicsSample
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

Graphics g;

private void Form1_Load(object sender, EventArgs e)
{
SeriesList sList = new SeriesList();
sList.AxisFactor.BackColor = Color.Lime;

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

for(int x = 0; x < 9; 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();

// 차트 이미지로 그래픽 객체 생성
g = Graphics.FromImage(this.hHippoChart1.ChartImage);

if (g != null)
{
g.DrawString(
"테스트 글자",
new Font("굴림", 20, FontStyle.Italic),
new SolidBrush(Color.Red),
new PointF(this.hHippoChart1.SeriesListDictionary[0].AxisFactor.CoordinateRectangle.Left + 50, this.hHippoChart1.SeriesListDictionary[0].AxisFactor.CoordinateRectangle.Top + 40)
);

g.DrawEllipse(Pens.Red, new Rectangle(300, 150, 80, 80));

this.hHippoChart1.Refresh();
}
}
}
}


VB
 

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

Namespace HippoGraphicsSample
Public Partial Class Form1
Inherits Form
Public Sub New()
InitializeComponent()
End Sub

Private g As Graphics

Private Sub Form1_Load(sender As Object, e As EventArgs)
Dim sList As New. SeriesList()
sList.AxisFactor.BackColor = Color.Lime

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

For x As Integer = 0 To 8
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()

` 차트 이미지로 그래픽 객체 생성
g = Graphics.FromImage(Me.hHippoChart1.ChartImage)

If g IsNot Nothing Then
g.DrawString("테스트 글자", New Font("굴림", 20, FontStyle.Italic), New SolidBrush(Color.Red), New PointF(Me.hHippoChart1.SeriesListDictionary(0).AxisFactor.CoordinateRectangle.Left + 50, Me.hHippoChart1.SeriesListDictionary(0).AxisFactor.CoordinateRectangle.Top + 40))

g.DrawEllipse(Pens.Red, New Rectangle(300, 150, 80, 80))

Me.hHippoChart1.Refresh()
End If
End Sub
End Class
End Namespace


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

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

helpdesk@hippochart.com





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