vb.net 教程 5-12 绘图实例之统计图 3 饼图
来源:互联网 发布:声音放大器偷听软件 编辑:程序博客网 时间:2024/06/05 04:15
继续上一期《绘图实例之统计图2》,继续讲解如何绘制饼图:
当按下“饼图”按钮时,调用三个函数,分别是绘制饼图、显示到窗口,由于不需要坐标轴,所以这里不再绘制坐标轴:
Private Sub btnPie_Click(sender As Object, e As EventArgs) Handles btnPie.Click Call DrawPie() Call DrawToForm() End Sub
DrawToForm()在之前已经介绍,以下是DrawPie的代码:
'绘制饼图 Private Sub DrawPie() '标注每个季度 Dim seasonValue(3) As Integer seasonValue(0) = nudSeason1.Value seasonValue(1) = nudSeason2.Value seasonValue(2) = nudSeason3.Value seasonValue(3) = nudSeason4.Value Dim seasonName() As String = {"一季度", "二季度", "三季度", "四季度"} '我们要获得4个季度总的盈利 Dim seasonSum As Integer = 0 For i As Integer = 0 To 3 seasonSum += seasonValue(i) Next '根据总赢利情况,来获得每个季度在饼图中所占的份额(角度) '为了简化起见,这里直接取整数 Dim seasonAngle(4) As Integer seasonAngle(0) = 0 seasonAngle(1) = seasonValue(0) * 360 \ seasonSum seasonAngle(2) = seasonValue(1) * 360 \ seasonSum + seasonAngle(1) seasonAngle(3) = seasonValue(2) * 360 \ seasonSum + seasonAngle(2) seasonAngle(4) = 360 '分别用4种颜色表示不同季度的盈利--http://blog.csdn.net/uruseibest Dim seasonColor() As Color = {Color.Red, Color.Blue, Color.Green, Color.GreenYellow} For i As Integer = 0 To 3 g.FillPie(New SolidBrush(seasonColor(i)), New Rectangle(100, 100, 200, 200), seasonAngle(i), seasonAngle(i + 1) - seasonAngle(i)) '饼图中特别需要说明每个季度对应的颜色 g.FillRectangle(New SolidBrush(seasonColor(i)), New Rectangle(360, i * 50 + 80, 60, 40)) '标出每个季度 g.DrawString(seasonName(i), New Font("宋体", 12), New SolidBrush(Color.Black), New Point(450, i * 50 + 90)) Next End Sub
按下“饼图”按钮时,如下图所示:
需要强调的是FillPie()最后两个关于角度的参数:
第1个角度参数(startAngle):扇形起始角度,是构成扇形的第一条边从x轴方向按照顺时针旋转的角度。
第2个角度参数(sweepAngle):扇形第二条边从第一条边按照顺时针方向旋转的角度
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。
学习更多vb.net知识,请参看vb.net 教程 目录
0 0
- vb.net 教程 5-12 绘图实例之统计图 3 饼图
- vb.net 教程 5-12 绘图实例之统计图 1 柱状图
- vb.net 教程 5-12 绘图实例之统计图 2 折线图
- vb.net 教程 5-12 绘图实例之统计图 4 注意事项
- 很好的VB.net 绘图drawing教程
- vb.net 教程 3-2 窗体编程之窗体 5
- vb计算机绘图教程
- VB.net 绘图代码
- vb.net 教程 12-3 HtmlElement类 5
- vb.net 教程 12-5 webbrowser 与窗体交互3
- vb.net 教程 12-1 WebBrowser 3
- vb.net 教程 12-4 msHtml 3
- 最新的.NET教程之VB.NET
- vb.net 教程 3-2 窗体编程之窗体 3
- vb.net 教程 3-2 窗体编程之窗体 1
- vb.net 教程 3-2 窗体编程之窗体 2
- vb.net 教程 3-2 窗体编程之窗体 4
- vb.net 教程 5-13 图像处理之像素处理 3
- Android自定义控件之拖动条
- Python 网络爬虫与信息获取(一)—— requests 库的网络爬虫
- c 程序设计语言 第二版 练习题 5-2
- 【C语言】预处理器
- PAT(乙) 1012. 数字分类 (20)
- vb.net 教程 5-12 绘图实例之统计图 3 饼图
- 走格子
- idea使用maven配置下载镜像(解决依赖文件下载不动的问题)
- 孙鑫VC++ 第三课 this指针的问题
- C#如何将ListView中的数据导出到Excel中
- HDU 3338 Kakuro Extension(最大流,拆点)
- c语言编程中的一点小技巧(老司机专用)
- 4202. Shopping
- Vue.js学习系列(四十二)-- Vue.js组件