vb.net绘制图表,vb 绘图

vb.net中有没有好用的图表控件?免费的,能画折线图的

TeeChart5

成都创新互联公司从2013年成立,先为分宜等服务建站,分宜等地企业,进行企业商务咨询服务。为分宜企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

这个画图表很不错。。

百度一下一大堆下载的。

vb.net读取txt的数据作图问题

一、分析:

1,这一类随时间而变化的曲线图,通常把横轴作为时间,把纵轴作为相应的值,在这里就是密度值。

2,点的集合就是线;一组时间、密度值,对应一个点,把点连接起来就构成了线。

二、在VB.NET中作图,需要知道并解决几个问题:

1,与VB6一样,VB.NET中默认的坐标系统,左上角为坐标原点,X轴的正向为从左向右,Y轴的正向是从上向下。

为了使得它与数学中的坐标系统相一致,可以使用VB.NET中Graphics类的两个方法;

1、TranslateTransform----平移变换

格式:Graphics.TranslateTransform(dx,dy)

其中:dx 和 dy分别是Single数据类型

2、ScaleTransform----缩放变换

格式:Graphics.ScaleTransform(sx,sy)

其中:sx 和 sy分别是Single数据类型;

例如:为了符合数学中的一般格式,可以使用下述代码:

Graphics.ScaleTransform(1, -1)

这样就把Y轴的正方向给翻过来了。

三、VB.NET中绘制图形

1,绘制圆或椭圆

'绘制图形的三步曲

'1,获得一个Graphics对象

Dim MyGraphics As Graphics

MyGraphics = Me.CreateGraphics

'2,定义一个Pen对象,用于绘制图形(轮廓线)

Dim MyPen As New Pen(Color.Black)

'3,定义一个Brush对象,用于填充图形(如果需要填充的话)

Dim MyBrush As New SolidBrush(Color.Orange)

'绘制一个实心圆,该圆在:直线x=200,y=200,x=200+100,y=200+100所划的矩形区域内

MyGraphics.FillEllipse(Brush, 200, 200, 100, 100)

'绘制一个空心圆,该圆在:直线x=200,y=200,x=200+100,y=200+100所划的矩形区域内

MyGraphics.DrawEllipse(Pen, 200, 200, 100, 100)

注意:最后两个数值如果不等,就是绘制椭圆

当圆足够小,就是点了。

2,绘制直线

'1,获得一个Graphics对象

Dim MyGraphics As Graphics

MyGraphics = Me.CreateGraphics

'2,定义一个Pen对象,用于绘制图形(轮廓线)

Dim MyPen As New Pen(Color.Black)

MyGraphics.DrawLine(MyPen, 200, 200, 100, 100)

'或者直接用

Me.CreateGraphics.DrawLine(New Pen(Color.Black), 50, 50, 200, 200)

vb.net绘制曲线图

。net  其实还是很好绘制图形的

你可以看下 Graphics  类

Dim d As New Bitmap(Me.Width, Me.Height)  ‘一个图片吧

  Dim g As Graphics = Graphics.FromImage(d)’绘制  准备在这个图片是进行

然后  就是你绘制的东西了

线 就是   g.DrawLine()

圆 弧度  就用  g.DrawArc(Pens.Black, New Rectangle(0, 0, 400, 200), 0, 360)

复杂的就是      g.DrawBezier()

等  如果你用的是 VS的  编译  上面都有详细的参数说明

Dim d As New Bitmap(Me.Width, Me.Height)

Dim g As Graphics = Graphics.FromImage(d)

g.DrawArc(Pens.Black, New Rectangle(0, 0, 200, 200), 0, 360)

g.DrawLine(Pens.Red, New Point(0, 0), New Point(200, 200))

g.DrawLines(Pens.Green, New Point() {New Point(0, 0), New Point(50, 40), New Point(50, 80), New Point(90, 70), New Point(100, 400)})

g.DrawBezier(Pens.Yellow, New Point(0, 100), New Point(0, 0), New Point(200, 0), New Point(200, 200))

g.Dispose()

Me.BackgroundImage = d

vb.net 如何由已知数据生成chart图表

这个说起来有点小复杂,建议你找专门的文章学习。

比如:

用VS2010怎么样能画出图表或者说如何能用Excel表格的画图功能 VB.net

Public Class Form3

Protected Sub iniChart()

Dim dt As New DataTable

'表增加月份、收入、支出三列

dt.Columns.Add("月份")

dt.Columns.Add("收入")

dt.Columns.Add("支出")

Dim dr As DataRow

For i As Integer = 1 To 12

'新增行

dr = dt.NewRow()

'月份 1-12月

dr.Item(0) = i  "月"

Randomize()

'收入

dr.Item(1) = 3000 + Int(5000 * Rnd(8))

Randomize()

'支出

dr.Item(2) = 600 + Int(2000 * Rnd(7))

dt.Rows.Add(dr)

Next

dr = Nothing

With Me.Chart1

.DataSource = dt    'dt作为chart1的数据源

.Series.Clear()

.Legends.Clear()

.ChartAreas.Clear()

.ChartAreas.Add("收入")

.ChartAreas.Add("支出")

.Legends.Add("收入")

.Legends.Add("支出")

.Series.Add("收入")

.Series.Add("支出")

.Series("支出").ChartArea = "支出"              '指定Series所属ChartArea

.Series("支出").Legend = "支出"                 '指定Legend所属Series

.Series("收入").LegendToolTip = "收入图例"

.Series("收入").IsValueShownAsLabel = True    '标签显示数据值

.Legends("收入").DockedToChartArea = "收入"     '指定Legend所属ChartArea

.Legends("支出").DockedToChartArea = "支出"

.ChartAreas("支出").Area3DStyle.Enable3D = True  '启用3D样式

End With

With (Chart1.Series(0))

'指定x、y轴数据列

.YValueMembers = "收入"

.XValueMember = "月份"

'图表类型

.ChartType = DataVisualization.Charting.SeriesChartType.Column

End With

With Chart1.Series(1)

.YValueMembers = "支出"

.XValueMember = "月份"

.ChartType = DataVisualization.Charting.SeriesChartType.Pie

End With

Me.Chart1.DataBind()    '绑定数据源

With Me.Chart1.Series("收入")

Dim s1 As Integer

For i As Integer = 0 To .Points.Count - 1

s1 = s1 + Val(.Points(i).GetValueByName("y"))

.Points(i).ToolTip = .Points(i).AxisLabel  .Points(i).GetValueByName("y")

Next

'图例显示总收入

Me.Chart1.Legends("收入").Title = "总收入"

.LegendText = s1.ToString

End With

With Me.Chart1.Series("支出")

.IsValueShownAsLabel = True

For i As Integer = 0 To .Points.Count - 1

.Points(i).ToolTip = .Points(i).AxisLabel  .Points(i).GetValueByName("y")

.Points(i).LegendText = .Points(i).AxisLabel

.Points(i).Label = "#PERCENT"               '饼状图显示百分比

.SmartLabelStyle.AllowOutsidePlotArea = True

Next

End With

Me.Chart1.AlignDataPointsByAxisLabel("支出")

With Me.Chart1.Legends("支出")

.LegendStyle = DataVisualization.Charting.LegendStyle.Column

.Title = "支出"

End With

End Sub

Private Sub Form3_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Call iniChart()

Call iniCombChart()

End Sub

Private Sub iniCombChart()

Dim tps As Array

'枚举所有SeriesChartType类型

tps = System.Enum.GetValues(GetType(Windows.Forms.DataVisualization.Charting.SeriesChartType))

For Each i As Windows.Forms.DataVisualization.Charting.SeriesChartType In tps

Me.ComboBox1.Items.Add(Val(i))

Next

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Call iniChart()

End Sub

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

With Chart1.Series(0)

'改变图表样式

Dim tps As Array

tps = System.Enum.GetValues(GetType(System.Windows.Forms.DataVisualization.Charting.SeriesChartType))

For Each i As Windows.Forms.DataVisualization.Charting.SeriesChartType In tps

If Val(i) = Me.ComboBox1.Text Then

.ChartType = i

Exit For

End If

Next

End With

End Sub

End Class

VB.net中如何画图?

VB.net与VB不同。

VB.net已经有专门绘图的类。

可以定义笔刷然后用Drawing类中的方法绘制。

Private Sub DrawEllipse()

Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)

Dim formGraphics as System.Drawing.Graphics

formGraphics = Me.CreateGraphics()

formGraphics.DrawEllipse(myPen, New Rectangle(0,0,200,300))

myPen.Dispose()

formGraphics.Dispose()

End Sub

Private Sub DrawRectangle()

Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Red)

Dim formGraphics as System.Drawing.Graphics

formGraphics = Me.CreateGraphics()

formGraphics.DrawRectangle(myPen, New Rectangle(0,0,200,300))

myPen.Dispose()

formGraphics.Dispose()

End Sub


标题名称:vb.net绘制图表,vb 绘图
标题路径:http://ybzwz.com/article/heigod.html