none
vb.net 차트관련 질문입니다. RRS feed

  • 질문

  • vb.net에서 series 속성을 추가하지 않고 두 점을 잇는 선분을 그리고 싶은데요.

    아래와 같이 chart.creategraphics를 이용했더니 차트위에 그려지지 않네요.

    어떻게하면 series를 지정하지 않고 차트에 선을 그을 수 있나요???

    Public Sub T_Line() 
            Dim i As Double
            Dim g As Graphics
    = Me.Chart1.CreateGraphics()
            For i =
    Chart1.ChartAreas(0).AxisX.Minimum To Chart1.ChartAreas(0).AxisX.Maximum Step
    1
                Dim pt1 As Point = New Point(i, 0)
                Dim pt2 As
    Point = New Point(i, 1000 * function_1(i, 100))
               
    g.DrawLine(Pens.Blue, pt1, pt2)
            Next
        End Sub

    답변 부탁드리겠습니다.ㅠㅠ

    2016년 6월 24일 금요일 오전 7:42

답변

  • 안녕하세요.

    X좌표, Y좌표를 알고있다면,

    LineShape 오브젝트를 이용해서 차트보다 위로 series 없이 선을 그을수 있습니다.

    우선 아래와같이 해보세요.

    1. Visual Basic Power Packs Controls 을 다운받습니다.
    https://msdn.microsoft.com/ko-kr/library/cc488277.aspx

    주의 이것을 다운받아서 설치하실때에는, 기동중인 Visual Studio 를 종료하셔야합니다.

    2. 툴 탭의 툴박스 아이템선택 을 누릅니다.

    3. line 으로 검색해봅니다.

     -> LineShape 가 나올껍니다. 그걸 선택해서 툴박스에 추가합니다.

    4. 코드를 입력합니다. (샘플)

            Dim canvas As New ShapeContainer
            Dim theLine As New LineShape
            canvas.Parent = Me
    
            theLine.Parent = canvas
            theLine.StartPoint = New System.Drawing.Point(0, 0)
            theLine.EndPoint = New System.Drawing.Point(640, 480)
            canvas.BringToFront()

    LineShape 가 작성된 캔버스를 최상위로 올려줌으로써 챠트위에 선이 그려집니다.

    뭔가 잘 안되시면 다시 연락주세요.


    프로그램 개발에는 정답이 없다.

    2016년 6월 27일 월요일 오전 8:40