微软件有个mschart控件,可以的,我很久以前用过,不过时间久了,找不到了,你上网上找找吧

解决方案 »

  1.   

    http://finance.easychart.net/screenshot.gif
    http://www.asp.net/ControlGallery/ControlDetail.aspx?Control=1802&tabindex=2
    似乎要钱
      

  2.   

    有个WebChart控件很不错,可以参考一下
    如果需要的话可以发给你一个试试
      

  3.   

    http://mingyeh.blogone.net看看我做的一个小东西
    如果需要源码,请和我联系
      

  4.   

    贴一个给你看看吧(省略了一些取数据源的代码)。
    Imports System.Drawing
    Imports System.Drawing.Imaging
    Imports System.Drawing.Graphics
    Imports System.Data
    Imports System.Data.SqlClient
     Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '下面开始画图
            Dim bmpW As Integer = 500    '图片宽度
            Dim bmpH As Integer = 300    '图片高度        Dim objBmp As New Bitmap(bmpW, bmpH)
            Dim objGraphics As Graphics        Dim blackPen As New Pen(Color.Black, 1)
            Dim thickPen As New Pen(Color.Black, 2)        '临时变量        timesX = (bmpW - 20) / rowCount
            timesY = (bmpH - 40) / maxValue
            '从指定的objBitMap对象创建新图形对象objGraphics。
            objGraphics = Graphics.FromImage(objBmp)
            '清除整个绘图面并以指定白色为背景色进行填充。
            objGraphics.Clear(Color.White)
            '画坐标
            objGraphics.DrawLine(blackPen, 10, 10, 10, bmpH - 10)
            objGraphics.DrawLine(blackPen, 10, bmpH - 10, bmpW - 10, bmpH - 10)        '画刻度********************************************************************
            '共画27个纵刻度(bmpH-30 是实际使用的y轴长度)每10个单位一个刻度
            For i = 3 To 29
                objGraphics.DrawLine(blackPen, 10, 10 * i, 13, 10 * i)
                objGraphics.DrawString(System.Convert.ToInt32(maxValue / (bmpH - 30) * (30 - i) * 10), New Font("宋体", 7), New SolidBrush(Color.Black), New PointF(10, 10 * i))
            Next
            '共24个横向刻度
            For i = 0 To 23
                If i Mod 2 = 0 Then
                    objGraphics.DrawLine(thickPen, 10 + 20 * i, bmpH - 14, 10 + 20 * i, bmpH - 10)
                Else
                    objGraphics.DrawLine(blackPen, 10 + 20 * i, bmpH - 13, 10 + 20 * i, bmpH - 10)
                End If        Next
            Dim tempDate As Date        For i = 1 To 11
                tempDate = beginDate.AddDays(i * endDate.Subtract(beginDate).Days / 12)
                objGraphics.DrawString(tempDate.Month & "/" & tempDate.Day, New Font("宋体", 8), New SolidBrush(Color.Black), New PointF(40 * i, bmpH - 9))
            Next
            '***************************************************************************
            objGraphics.DrawString("日期", New Font("宋体", 8), New SolidBrush(Color.Black), New PointF(bmpW - 35, bmpH - 9))        '画箭头
            objGraphics.DrawLine(blackPen, 10, 10, 5, 20)
            objGraphics.DrawLine(blackPen, 10, 10, 15, 20)
            objGraphics.DrawLine(blackPen, bmpW - 10, bmpH - 10, bmpW - 15, bmpH - 5)
            objGraphics.DrawLine(blackPen, bmpW - 10, bmpH - 10, bmpW - 15, bmpH - 15)        Dim ptArray(10000) As PointF        For j = 0 To strFields.Length - 1
                For i = 0 To rowCount - 1
                    '定义绘图曲线的所有点坐标
                    ptArray(i) = New PointF(10 + i * timesX, bmpH - 10 - ds.Tables(0).Rows(i).Item(j) * timesY)
                Next            For i = 0 To rowCount - 2                objGraphics.DrawLine(New Pen(GetColor(j)), ptArray(i), ptArray(i + 1))            Next
                objGraphics.DrawString(strFields(j), New Font("宋体", 10), New SolidBrush(GetColor(j)), New PointF(30, 20 * (j + 1)))
            Next
            objGraphics.DrawString(maxValue, New Font("宋体", 10), New SolidBrush(GetColor(j)), 0, 0)        objBmp.Save(Response.OutputStream, ImageFormat.Gif)
        End Sub