绘制扇形统计图
例题:下表是本区2008年10月的气象资料
2008年10月
星期 日 星期 一 星期 二 星期 三 星期 四 星期 五 星期 六
1 2 9 3 10 17 24 31 4 11 18 25 5 12 19 26 6 13 20 27 7 14 21 28 8 15 22 29
第6章 数据与统计图表
6.3
扇形统计图
欣赏图片,预备知识:
圆 心 角
如图摩天轮每相邻两根支杆形成的角 的顶点都在圆心上,这样的角叫圆心角。
2018/11/16
地球陆地面积分布统计图
6% 7% 30% 9%
12%
20%
16%
大洋洲
欧洲
南极洲
南美洲
北美洲
非洲
亚洲
从图中你能获得哪些信息?
发达国家和发展中国家人口和国内生产总值
晴天 •• • • ••• 阴天 雨天 本区2008年10月天气情况统计图
雨天 阴天 19.3% 32.3% 晴天 48.4%
本区2008年10月天气情况统计图
19.3% 32.3%
48.4%
想一想: 你还可以用其他统计图来 表示上例中这个月的天气 情况吗?各有什么特点?
晴天 阴天 雨天
本区2008年10月天气情况统计图
计算各扇形圆心角的度数
3、观察未完成的统计图,同桌讨论并回答:
(1)如果用这个圆代表总体,那么哪一个扇形表示总体的25%? (2)如果用整个圆代表你口袋里的10块钱,那么C代表多少钱呢? (3)如果用整个圆代表我们班级人数,那么扇形B区代表多少 人呢? (4)如果A占总体25%,扇形B比扇形A多5人,那么我们班有多 少人?
本区2008年10月天气情况统计图
天数
20 15 10 5 0
15 10 6
20 15 10 5 0
天数
15 10 6
晴天 阴天 雨天 情况
天气
晴天
阴天
雨天
天气 情况
三种统计图的特点
本区2008年10月天气情况统计图
天数
本区2008年10月天气情况统计图
本区2008年10月天气情况统计图
20 15 10 5 0
随堂练习:
1、从下列的两个统计图中,你能看出哪一个学校 的女生人数多吗?
甲校男女生统计图 乙校男女生统计图
女生 50%
男生 50%
女生 40% 男生 60%
2、这台电脑D盘的容量20GB,已 用空间占60%,则可用空间的容量 为( 8 ) GB。
40%
60%
已用空间 可用空间
ZUOYIZUO
思考:绘制扇形统计图的一般步骤?
一般步骤: ①画一个圆 ②求各组成部分所占总体百分比 ③算表示各组成部分的扇 形圆心角度数 ④画出各个扇形 ⑤注明统计图名称、各成 分名称和百分比。
成分1
名
称
成分4 成分1 13% 成分2 17% 成分3 57%
成分2
成分3
成分4
注意:不用彩色,也可用白色、涂黑、斜线、网状等表示,
60%
某校在某次“爱心”活动中各年级人均捐款 数额(元) 额如条形图所示
七年级 40% 九年 八年级 级 35%
60 50 40 30 20 10 0
年级
七 八
九
扇形图表示该学校各年级学生数比例分布图, 该校共有学生1400人。问: (1)九年级学生共捐款多少元? (2)该校学生平均每人捐款多少元?
晴 阴
16 23 30
雨
(1)请根据上表计算10月份晴天、阴天、雨天的天数和 它们各自占总天数的百分比(精确到0.1%);
① 请根据上表计算10月份晴天、阴天、雨天的天数和它们各 自占总天数的百分比(精确到0.1%); ② 绘制扇形统计图。
解:① 由表中可得晴天15天,阴天10天,雨天6天,它们
②再求出有关扇形的圆心角的度数。
试一试:
从下列的两个统计图中,你能看出哪一 个班级的女生人数多吗?
A班
女生 男生 50% 50%
B班
女生 40% 男生 60%
请选择
A班
B班
不确定
如何才能确定哪班的女生人数多呢?与什么量有关?
世界人口
发达国家14%
发展中国家 24%
全球国内生产总值
发达国家76% 发展中国家 86%
观察下图,并回答下面的问题:
某 种 学 生 快 餐 ( 300g) 营 养 成 分 统 计 图
5% 10% 45% 40% 蛋白质 碳水化物 脂肪 维生素和矿物质
(1)这种快餐中,脂肪占百分之几?有多少g? (2)这种快餐中,哪一种营养成分最多?哪一种最少?最多的 营养成分是最少的多少倍? (3)表示蛋白质的扇形的圆心角是多少度?你是怎样计算的?
占总天数的百分比分别为48.4%,32.3 % ,19.3 %。
晴天天数扇形的圆心角度数为:360 ×48.4%≈174 , 阴天天数扇形的圆心角度数为360 ×32.3%≈116 , 雨天天数扇形的圆心角度数为360 × 19.3% ≈70
o o o o
o
o
天气情况
天数 百分比 (0.1%)
晴天
KETANGXIAOJIE
1.明确扇形统计图的一意义:
(1)圆代表总体; (2)扇形代表总体中的不同部分; (3)扇形的大小反映部分占总体的百分比的 大小. (4)各个扇形所占的百分比之和为1;
2.扇形统计图的特点:直观地、生动地
反映各部分在总体中所占的比例 。
3.绘制扇形统计图的关键又是什么?
阴天
雨天
15 48.4% 174°
10 32.3% 116 °
6 19.3% 70 °
合计 31 100%
360 °
圆心角
本区2008年10月天气情况统计图
19.3% 32.3%
48.4%
晴天 阴天 雨天
本区2008年10月天气情况统计图
• • • • • 19.3% •• • • 32.3% • •• •• • •• 48.4%
某班学生参加课外兴趣小组情况的统计图如 图所示.请根据统计图回答下面的问题:
某班学生参加课外兴趣小组情况统计图
10% 文艺 体育 美术 30%
60%
(1)参加体育、文艺、美术 三类课外兴趣小组的人数 比是多少? (2)参加人数最多的是哪 一类课外小组?参加人数 最少的呢?若参加人数最 多的课外兴趣小组比参加 人数最少的多20人,那么 一共有多少学生参加这三 个课外兴趣小组?
在2002年第14届釜山亚运会上,中国体 育代表队取得了优异的成绩:
金牌榜
比一比: 看谁画得快、规 范、美观
代表队 中国 韩国 日本 其他国家
金牌(枚) 150 96 44 137
(1)请你根据上表绘制扇形统计图。 (2)从图中你能得到哪些结论?
第14届亚运会金牌统计图
32%
35%
10% 23%
中国 韩国 日本 其他国家
A
C
B 35%
仿照上面的问题, 根据左图,编 一个问题并解 答。
3.下面是对本校学生近视情况进行调查后所作扇形统计图。
(1)这个扇形统计图画完整了吗?
(2)现在补充了有关信息后,完整了吗?你有 什么心 得呢?
(3)若已知视力正常的人 数有75人,则该校真性近 视有多少人?
其 它 视力正常 14% 15% 真性近视 假性近视 40%
天数
15 10 6
晴天
阴天
雨天
20 15 10 5 0
15 10 6
19.3% 32.3%
48.4%
天气 情况
晴天 阴天 雨天
天气 情况
晴天
阴天
雨天
条形统计图 能清楚地表示出 每个项目的具体 数目。
折线统计 图能清楚地反 映事物的变化 情况。
扇形统计图 能清楚地表示出 各部分在总体中 所占的百分比。
本校学生视力情况统计图
我喜欢,我选择 学校政教处抽样调查了200名同 学发现有10%的同学步行上学,有 60%的同学自己乘车上学,还有一部 分是父母接送,所占比例如图所示: (1)这次抽样调查中自 父母接送 步行 120 人,步行 己乘车有____ 10% 上学有__ __人。 20 自己乘车 (2)接送部分所占圆心角 108 度 是____ (3)全校有1200名学生,试估 720 人。 计自己乘车上学有____
六上数学7-1 扇形统计图的认识 课件(人教新插图版)
的人数情况统计图
(4)用这样的统计图有什么好处?
22.5
答:可以清楚地反映出喜欢每种运动 项目的人数占总人数的百分之多少。
12.5
15
20
六(1)班同学最喜欢运动项目
六(1)班同学最喜欢运动项目的人数情况统计图 14
的人数情况统计图
12 12
10
8
8
9
6
5
6
22.5
4 2
12.5
0 乒乓球 足球 跳绳 踢毽子 其他
即时练习:牛奶里含有丰富的营养成分,各种营养成分所占 百分比如下。
每天喝一袋250g的牛奶,能补充每种营养成分各多少克?
水分:250×87%=217.5(g) 蛋白质:250×3.3%=8.25(g) 脂肪:250×4%=10(g) 乳糖:250×5%=12.5(g) 其他:250×0.7%=1.75(g)
扇形统计图的认识
你喜欢哪种运动 项目?
如果想要调查班里每人最喜欢的运动,你有 什么好办法呢?可以用什么统计图表示?
这是统计的六(1)班同学最喜欢的运动项目。 六(1)班同学最喜欢的运动项目的人数情况统计表
项 目 乒乓球 足球 跳绳 踢毽子 其他
人 数 12
8
5
6
9
你能算出每种运动最喜欢的人数 各占全班人数的百分之多少吗?
李明每天的作息时间安排如下图。
李明每天花多少小时做作业?你还能得到哪些信息? 答:李明每天花1.92小时做作业;花4.08小时上课; 花3.12小时活动;……
想一想:观察下图,并回答问题。
AC
B 33.3%
(1)如果用整个圆表示总体,那么哪一 个扇形表示总体的25%? 这个扇形的圆心角的度数是多少度? 答:A表示总体的25%, 扇形A的圆心角为360°×25%=90°。
六年级《扇形统计图》PPT课件
(4)从中你还能得到什么信息?
南极洲9.3% 非洲20.2%
欧洲7.1% 亚洲29.3% 大洋洲6% 美洲28.3%
2015-1-3
制扇形统计图: 某班40人,知道父母生日的同学有16人, 完全不记得父母双方生日的有14,其它 的同学只记得爸爸、妈妈一方的生日, 请你能画题目所表示的扇形统计图。
人数
某地区下半年平均每月气温变化情况,可把它 制成( 折线 )统计图。
名称
条 形 统 计 图 折 线 统 计 图 扇 形 统 计 图
特
点
作
用
用一个长度单位表示一 定的数量,用直条的长 短来表示数量的大小。
用于表示各种数量的多少。
用一个单位长度表示一 定的数量,用折线的上 升或下降表示数量的多 少及增减变化情况
扇形统计图
学习目标
1.结合实例认识扇形统计图,初步体会扇形统计图描 述数据的特点。 2. 在认识扇形统计图的过程中,经历运用数据描述信 息、作出判断、解决简单实际问题的过程,发展统计 观念。 3. 进一步体会统计在实际生活中的作用,感受数学与 生活的密切联系,发展数学应用意识。
2005--2009年年降水量统计图
(3)表示体育小组人数的扇形圆心角是2160,占圆周角 的( 60 )%。
各圆心角占圆周角的百分数就是各小组人 数占全班人数的百分数,反过来也可以说各 小组人数占全班人数的百分数就是各圆心角 占圆周角的百分数。
2015-1-3
随堂练习
某中学初二年级学生视力调查表
范围
人数
不近视
135
0~200度
127
颜色 人数(人)
红
10
黄
2
蓝
20
小学六年级上册数学课件扇形统计图
在实际应用中,扇形统计图可以用于比较不同分类之间的比例关系,也可以用于分析不同时间 或不同地点之间的数据变化趋势。
扇形统计图可以直观地展示各部分在整体中的比例,帮助我们了解数据的分布情况。
通过扇形统计图,我们可以快速地比较不同类别的数据,从而做出合理的决策。
添加文档副标题
目录
01.
02.
03.
04.
05.
06.
扇形统计图是一种用扇形面积表示部分在总体中所占比例的统计图 扇形统计图可以很清楚地表示出各部分在总体中所占的比例 通过扇形统计图可以很清楚地了解部分与总体之间的关系 扇形统计图可以清楚地显示各部分之间的相对大小
半径:连接圆心和扇形边缘 的线段
扇形统计图的各部分占比之和为100%,而折线图则表示连续的数据变化。
在扇形统计图中,各部分占比的大小直接反映在相应扇形的面积上,而在折线图中,数据的大 小则通过线的升降来表示。
扇形统计图更适用于表示分类数据的占比关系,而折线图则更适用于表示时间序列数据的变化 趋势。
扇形统计图是饼 图的一种,它们 都用于表示各部 分在总体中所占 的比例。
预测市场趋势:通过分析扇形统计图,可以了解不同类别数据在整体中所占的比例,从而预测市场趋势。
评估投资风险:在金融领域,扇形统计图可以用于评估投资风险,帮助投资者做出更明智的决策。
制定销售策略:通过分析扇形统计图,企业可以了解不同产品在市场上的表现,从而制定更有效的销售策略。 预测未来发展:在科学研究、经济发展等领域,扇形统计图可以用于预测未来发展趋势,帮助决策者制定长期规 划。
比例:扇形统计图中的各部分比例应该与实际数据相对应,以确保图表 的准确性。
浙教版七年级数学下册课件6.3 扇形统计图 (共25张PPT)
(来自《教材》)
知1-导
(1)这种快餐中,脂肪占百分之 几?有多少克? (2)这种快餐中,哪一种营养成 分最多?哪一种 最少?最多的营养成 分是最少的多少倍? (3)表示蛋白质的扇形的圆心角 是多少度?你是
怎样计算的?
(来自《教材》)
知1-讲
归
纳
像上图这样,用圆和扇形分别表示关于总体 和各个组成部分数据的统计图叫做扇形统 (pie chart). 扇形统计图的特点是能直观、生动地反 映
各部分在总体中所占的比例.
(来自《教材》)
知1-讲
1.概念:用圆和扇形分别表示关于总体和各个组
成部分数据的统计图叫做扇形统计图.
2.特点:扇形统计图能直观、生动地反映各部分 在总体中所占的比例.
(来自《点拨》)
知1-讲
要点精析: (1)同一扇形统计图中,扇形圆心角的度数越大,所 表示的百分比也越大(注:顶点在圆心的角称为圆
(来自《教材》)
知2-讲
总 结
制作扇形统计图的关键步骤是正确计算各组 成部分所对应的圆心角的度数.
(来自《点拨》)
知2-练
1 下面是某学校七年级(9)班的期中考试成绩统计 表,请用扇形统计图表示成绩的分布.
等级 人数
优秀 24
良好 12
及格 18
不及格 6
(来自《点拨》)
知2-练
2 对某中学七年级(3)班的学生进行调查,发现有16 人最喜欢打乒乓球,有12人最喜欢打排球,有22 人最喜欢踢足球,为了清楚地表示爱好各种球类 活动的人数占全班人数的百分比,应该制作的统 计图是( ) A.条形统计图
(来自《教材》)
知2-讲
(1)请根据上表计算晴天、阴天、雨天的天数和 它们各自占总天数的百分比(精确到0.1%). (2)绘制扇形统计图.
六年级上册数学说课稿-第七单元《扇形统计图》(人教版)
另外,在小组讨论环节,我发现有些学生参与度不高,可能是因为他们对讨论主题不够熟悉或者缺乏信心。为了解决这个问题,我将在下一次教学中,尽量让每个学生都有机会发表自己的观点,鼓励他们勇敢地说出自己的想法。同时,我会加强对讨论过程的引导,确保每个学生都能跟上讨论的节奏。
四、教学流程
(一)导入新课(用时5分钟)
同学们,今天我们将要学习的是《扇形统计图》这一章节。在开始之前,我想先问大家一个问题:“你们在日常生活中是否遇到过需要了解部分与整体关系的情况?”比如,了解一个班级中男生和女生的比例。这个问题与我们将要学习的内容密切相关。通过这个问题,我希望能够引起大家的兴趣和好奇心,让我们一同探索扇形统计图的奥秘。
3.成果分享:每个小组将选择一名代表来分享他们的讨论成果。这些成果将被记录在黑板上或投影仪上,以便全班都能看到。
(五)总结回顾(用时5分钟)
今天的学习,我们了解了扇形统计图的基本概念、重要性和应用。同时,我们也通过实践活动和小组讨论加深了对扇形统计图的理解。我希望大家能够掌握这些知识点,并在日常生活中灵活运用。最后,如果有任何疑问或不明白的地方,请随时向我提问。
举例:通过实例分析,让学生掌握如何利用扇形统计图进行数据比较、分析,以及解决实际生活中的问题。
2.教学难点
(1)理解扇形统计图的百分比概念,并将其应用于实际问题中。
难点解析:学生对百分比的理解可能不够深入,需要通过实例讲解和练习,让学生明白百分比在扇形统计图中的含义,并学会将其应用于实际问题。
如何绘制扇形统计图
◎相雨婷在工农业生产与日常生活统计中,要想清楚地表示出各部分数量同总数量之间的关系,常常选择扇形统计图。
扇形统计图是用整个圆的面积表示总数量(单位1),用圆内各个扇形面积的大小表示各部分数量占总数量的百分数。
那么如何绘制扇形统计图呢?我们可以按照以下四步进行绘制:1.根据所给的部分数量和总数量,求出各部分数量占总数量的百分之几。
2.用360°(整圆的度数)乘各部分数量相应的百分比,得出扇形统计图中各部分数量所对应的扇形圆心角的度数。
3.画一个大小适中的圆,再根据圆心角度数画出所对应的扇形(各部分扇形的和一定是一个整圆)。
4.分别在各个扇形中标出对应部分的名称和所占百分比,最后写上统计图的名称和制图日期。
【例】李阿姨在一块80平方米的蔬菜地里种植了4种不同的蔬菜,各种蔬菜的种植面积如下表。
品种合计黄瓜韭菜萝卜番茄种植面积/平方米8016102628【要求】根据表中数据画出扇形统计图。
【解答过程】先算出各种蔬菜面积分别占种植总面积的百分之几。
黄瓜占种植总面积的16÷80=20%,韭菜占种植总面积的10÷80=12.5%,萝卜占种植总面积的26÷80=32.5%,番茄占种植总面积的28÷80=35%。
再算出各种蔬菜种植面积所对应的扇形圆心角的度数。
黄瓜:360°×20%=72°,韭菜:360°×12.5%=45°,萝卜:360°×32.5%=117°,番茄:360°×35%=126°。
接着根据实际需要及圆心角度数,画出圆及对应扇形,标出对应部分的名称和所占百分比,最后写上统计图名称和制图日期。
李阿姨种植4种蔬菜面积情况统计图2017年8月扇形统计图不仅可以让一些杂乱无章的数据变得清晰透彻,使人看上去一目了然,便于观察,而且利于计算各种数据,既方便又快捷。
教你如何绘制精美的扇形统计图,附详细步骤教案
一、前言在数据可视化领域中,统计图是一个非常常见且实用的形式。
扇形统计图是统计图的一种,通常用于呈现一个总数中各部分的占比情况,展现具体数据的比例。
本文将详细介绍如何绘制精美的扇形统计图,以便更好地呈现数据。
二、工具绘制扇形统计图需要工具,本文使用 Adobe Illustrator CC 2019 进行绘制。
这个软件可以在官网下载安装。
三、步骤Step 1:新建一个文档文件,选择画布大小为 800*800px,颜色模式为 CMYK。
Step 2:使用矩形工具绘制一个灰色的背景图形,作为整个统计图的背景。
Step 3:绘制圆形,使用椭圆工具绘制一个直径为 700px 的圆形,并将其放置在中心位置。
Step 4:分割圆形,将圆形分割成多个扇形。
可以使用 Pathfinder 工具中的“Divide” 来分割形状。
分割后,每一个扇形都将被单独的路径所代表。
可以使用直接选择工具,选中其中的一个扇形,然后删除其余的路径以仅保留该扇形。
Step 5:选择扇形颜色,使用直接选择工具选择一个扇形路径,然后选择填充栏以选择一个适当的颜色。
可以在左上角的窗口中选择“Color” 选项卡,以便更快地选择适当的颜色。
Step 6:样式的制作,为了让我们的扇形统计图能够更加具有美感,我们需要对其样式进行一点小改动。
选择其中一个扇形,然后选择“Effect” 菜单中的“3D” 选项卡。
在“3D” 中选择所需的效果并进行调整,在此我们选择了“Extrude & Bevel” 来为扇形平面增加立体效果。
我们可以更改其深度,角度和位置以实现所需的视觉效果。
选择完成之后,通过Alt + Shift + Ctrl + E 快捷键来将 3D 效果应用到其余扇形中。
Step 7:设置标签,为了让我们的扇形统计图更加直观,需要添加标签表示每个扇形所代表的数据。
使用文本工具,在每个扇形的顶部设置标签,表示其所占的比例。
Step 8:添加阴影,添加阴影效果可以使扇形图像更加立体感强烈。
扇形统计图
不同存款目的的人数占总人数的百分比; 100%.
(3)假如总共调查了1000人,请你把不同存款目的的人数填 写在下表中:
存买 购 生 教 养 预 得 购购 其
款房 买 意 育 老 防 利 买买 它
目装 汽 周 费 费 意 息 资大
√ √ √
√
观察上图后,研究下面问题: (1)选择人数最多的前四类的存款目的分别是_教__育___、 _养__老___、_买__房__装__修__、预__防__意__外__,这四类人数的百分比之和 是_5_5_._6_%__.
例.阅读下面材料: 中国人民银行资料显示,到2001年底,我国城乡居民银行存 款数额为8.7万亿人民币. 你想了解居民存款的目的是什么吗?下图是根据中国人民银 行提供的资料制作的统计.
的修 车 转
外
产件
人 数
128
32
92
190 130 108
52
56 105 107
再见
扇形图显示的是每一组数据的相对大小,因此从图中我们 不能判断每一组的具体数据.
扇形统计图的特点: ①用扇形面积表示各部分在总体中所占的百分比; ②易于显示每组数据相对于总体的大小.
例.阅读下面材料: 中国人民银行资料显示,到2001年底,我国城乡居民银行存 款数额为8.7万亿人民币. 你想了解居民存款的目的是什么吗?下图是根据中国人民银 行提供的资料制作的统计图,图中的百分比是受访者中选择 不同存款的目的(每人只选一项)人数的百分比.
(2) 计算表示各部分数量的扇形的圆心角度数,公式为: 圆心角=360某部分占总体的百分比;
(3) 取适当的半径画一个圆,利用半圆仪,根据刚才 计算所得的圆心角,画出各个扇形,并标注项目 及百分比;
(2024年)扇形统计图课件
2. 颜色选择
在选择扇形颜色时,应确保颜色对比明显 且易于区分,同时避免使用过于刺眼或不 搭配的颜色组合。
4. 避免过多分类
当数据分类过多时,可能会导致扇形过小 且难以区分。此时可以考虑合并一些较小 的分类或使用其他图表类型进行展示。
2024/3/26
3. 标签清晰
在标注数据时,应确保标签清晰易读且与 相应的扇形紧密相邻,避免读者产生混淆 。
12
数据分析方法及案例解析
扇形统计图基本概念
了解扇形统计图的基本概念和构成, 包括圆心角、扇形面积等。
数据分析方法
案例解析
结合具体案例,详细解析扇形统计图 在数据分析中的应用,如市场份额分 析、人口结构分析等。
运用统计分析方法对数据进行分析, 如比例计算、占比分析等。
2024/3/26
13
结果呈现与报告编写
01
结果呈现
选择合适的图表类型,如扇形图、饼图等,将分析结果直观地呈现出来
。
02
报告编写
根据分析结果,编写简洁明了的报告,包括标题、摘要、正文和结论等
部分。
2024/3/26
03
注意事项
在呈现结果和编写报告时,要注意数据的可读性和易理解性,避免使用
过于复杂的图表和术语。同时,要确保报告的逻辑性和客观性,提供必
教育程度分析
将人口按照不同教育程度进行划分 ,并通过扇形统计图展示,可以直 观地看出整体教育水平和教育资源 的分布情况。
婚姻状况分析
通过扇形统计图展示不同婚姻状况 人口的占比,可以了解社会的婚姻 和家庭状况,为相关政策制定提供 参考。
17
科技领域:科研投入、产出等数据分析
2024/3/26
科研投入分析
C#绘制统计图(柱状图,折线图,扇形图)--转载
C#绘制统计图(柱状图,折线图,扇形图)--转载转⾃:,侵删统计图形种类繁多, 有柱状图, 折线图, 扇形图等等, ⽽统计图形的绘制⽅法也有很多, 有Flash制作的统计图形, 有⽔晶报表⽣成统计图形, 有专门制图软件制作, 也有编程语⾔⾃⼰制作的;这⾥我们⽤就C# 制作三款最经典的统计图: 柱状图, 折线图和扇形图;既然是统计, 当然需要数据, 这⾥演⽰的数据存于Sql Server2000中, 三款统计图形都是动态⽣成. 其中柱状图我会附上制作步骤, 其他两款统计图直接附源码.说明: 需求不⼀样, 统计图形绘制后的显⽰效果也不⼀样, ⽐如这⾥柱状图的主要需求是为了⽐较每⼀期报名⼈数与通过⼈数的差, 因此会把两根柱⼦放在⼀起会使⽐较结果⼀⽬了然. 因此⼤家可以根据需要灵活绘制.⼀. 柱状图的绘制.绘制步骤如下:1. 定义绘图⽤到的类.int height = 500, width = 700;Bitmap image = new Bitmap(width, height);Graphics g = Graphics.FromImage(image);Pen mypen = new Pen(brush, 1);2. 绘制图框.g.FillRectangle(Brushes.WhiteSmoke, 0, 0, width, height);3. 绘制横向坐标线for (int i = 0; i < 14; i++){g.DrawLine(mypen, x, 80, x, 340);x = x + 40;}4. 绘制纵向坐标线for (int i = 0; i < 9; i++){g.DrawLine(mypen, 60, y, 620, y);y = y + 26;}5. 绘制横坐标值String[] n = { "第⼀期", "第⼆期", "第三期", "第四期", "全年" };for (int i = 0; i < 7; i++){g.DrawString(n[i].ToString(), font, Brushes.Blue, x, 348);x = x + 78;}6. 绘制纵坐标值String[] m = {"250","225", "200", "175", "150", "125", "100“};for (int i = 0; i < 10; i++){g.DrawString(m[i].ToString(), font, Brushes.Blue, 25, y);y = y + 26;}7. 定义数组存储数据库中统计的数据int[] Count1 = new int[7]; //存储从数据库读取的报名⼈数int[] Count2 = new int[7]; //存储从数据库读取的通过⼈数8. 从数据库中读取报名⼈数与通过⼈数SqlConnection Con = new SqlConnection("Server=(Local);Database=committeeTraining;");Con.Open();string cmdtxt2 = "SELECT * FROM ##Countwhere Company='" + ****+ "'";SqlDataAdapter da = new SqlDataAdapter(cmdtxt2, Con);DataSet ds = new DataSet();da.Fill(ds);9. 将读取的数据存储到数组中Count1[0] = Convert.ToInt32(ds.Tables[0].Rows[0][“count1”].ToString()); Count1[1] = Convert.ToInt32(ds.Tables[0].Rows[0][“count3”].ToString()); Count2[0] = Convert.ToInt32(ds.Tables[0].Rows[0][“count2”].ToString()); Count2[1] = Convert.ToInt32(ds.Tables[0].Rows[0]["count4"].ToString());10.定义画笔和画刷准备绘图x = 80;Font font2 = new System.Drawing.Font("Arial", 10, FontStyle.Bold);SolidBrush mybrush = new SolidBrush(Color.Red);SolidBrush mybrush2 = new SolidBrush(Color.Green);11. 根据数组中的值绘制柱状图(1)第⼀期报名⼈数g.FillRectangle(mybrush, x, 340 - Count1[0], 20, Count1[0]);g.DrawString(Count1[0].ToString(), font2,Brushes.Red, x, 340 - Count1[0] - 15);(2) 第⼀期通过⼈数x = x + 20;g.FillRectangle(mybrush2, x, 340 - Count2[0], 20, Count2[0]);g.DrawString(Count2[0].ToString(), font2,Brushes.Green, x, 340 - Count2[0] - 15);12. 将图形输出到页⾯.System.IO.MemoryStream ms = newSystem.IO.MemoryStream();image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg); Response.ClearContent();Response.ContentType = "image/Jpeg";Response.BinaryWrite(ms.ToArray());最终柱状图的效果图:柱状图的完整代码:View Code⼆. 折线统计图的绘制效果:折线图的完整代码:private void CreateImage(){int height = 480, width = 700;Bitmap image = new Bitmap(width, height);Graphics g = Graphics.FromImage(image);try{//清空图⽚背景⾊g.Clear(Color.White);Font font = new System.Drawing.Font("Arial", 9, FontStyle.Regular);Font font1 = new System.Drawing.Font("宋体", 20, FontStyle.Regular);Font font2 = new System.Drawing.Font("Arial", 8, FontStyle.Regular);LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.Blue, 1.2f, true);g.FillRectangle(Brushes.AliceBlue, 0, 0, width, height);Brush brush1 = new SolidBrush(Color.Blue);Brush brush2 = new SolidBrush(Color.SaddleBrown);g.DrawString(this.ddlTaget.SelectedItem.Text + " " + this.ddlYear.SelectedItem.Text +" 成绩统计折线图", font1, brush1, new PointF(85, 30));//画图⽚的边框线g.DrawRectangle(new Pen(Color.Blue), 0, 0, image.Width - 1, image.Height - 1);Pen mypen = new Pen(brush, 1);Pen mypen2 = new Pen(Color.Red, 2);//绘制线条//绘制纵向线条int x = 60;for (int i = 0; i < 8; i++){g.DrawLine(mypen, x, 80, x, 340);x = x + 80;}Pen mypen1 = new Pen(Color.Blue, 3);x = 60;g.DrawLine(mypen1, x, 82, x, 340);//绘制横向线条int y = 106;for (int i = 0; i < 10; i++){g.DrawLine(mypen, 60, y, 620, y);y = y + 26;}// y = 106;g.DrawLine(mypen1, 60, y - 26, 620, y - 26);//x轴String[] n = { "第⼀期", "第⼆期", "第三期", "第四期", "上半年", "下半年", "全年统计" };x = 45;for (int i = 0; i < 7; i++){g.DrawString(n[i].ToString(), font, Brushes.Red, x, 348); //设置⽂字内容及输出位置x = x + 77;}//y轴String[] m = { "220⼈", " 200⼈", " 175⼈", "150⼈", " 125⼈", " 100⼈", " 75⼈", " 50⼈"," 25⼈"};y = 100;for (int i = 0; i < 9; i++){g.DrawString(m[i].ToString(), font, Brushes.Red, 10, y); //设置⽂字内容及输出位置y = y + 26;}int[] Count1 = new int[7];int[] Count2 = new int[7];SqlConnection Con = new SqlConnection("Server=(Local);Database=committeeTraining;Uid=sa;Pwd=eesoft"); Con.Open();string cmdtxt2 = "SELECT * FROM ##Count where Company='" + this.ddlTaget.SelectedItem.Text.Trim() + "'"; SqlDataAdapter da = new SqlDataAdapter(cmdtxt2, Con);DataSet ds = new DataSet();da.Fill(ds);//报名⼈数Count1[0] = Convert.ToInt32(ds.Tables[0].Rows[0]["count1"].ToString());Count1[1] = Convert.ToInt32(ds.Tables[0].Rows[0]["count3"].ToString());Count1[2] = Convert.ToInt32(ds.Tables[0].Rows[0]["count5"].ToString());Count1[3] = Convert.ToInt32(ds.Tables[0].Rows[0]["count7"].ToString());Count1[6] = Convert.ToInt32(ds.Tables[0].Rows[0]["count9"].ToString()); //全年Count1[4] = Count1[0] + Count1[1];Count1[5] = Count1[2] + Count1[3];Count2[0] = Convert.ToInt32(ds.Tables[0].Rows[0]["count2"].ToString());Count2[1] = Convert.ToInt32(ds.Tables[0].Rows[0]["count4"].ToString());Count2[2] = Convert.ToInt32(ds.Tables[0].Rows[0]["count6"].ToString());Count2[3] = Convert.ToInt32(ds.Tables[0].Rows[0]["count8"].ToString());Count2[6] = Convert.ToInt32(ds.Tables[0].Rows[0]["count10"].ToString()); //全年Count2[4] = Count2[0] + Count2[1];Count2[5] = Count2[2] + Count2[3];//显⽰折线效果Font font3 = new System.Drawing.Font("Arial", 10, FontStyle.Bold);SolidBrush mybrush = new SolidBrush(Color.Red);Point[] points1 = new Point[7];points1[0].X = 60; points1[0].Y = 340 - Count1[0]; //从106纵坐标开始, 到(0, 0)坐标时points1[1].X = 140; points1[1].Y = 340 - Count1[1];points1[2].X = 220; points1[2].Y = 340 - Count1[2];points1[3].X = 300; points1[3].Y = 340 - Count1[3];points1[4].X = 380; points1[4].Y = 340 - Count1[4];points1[5].X = 460; points1[5].Y = 340 - Count1[5];points1[6].X = 540; points1[6].Y = 340 - Count1[6];g.DrawLines(mypen2, points1); //绘制折线//绘制数字g.DrawString(Count1[0].ToString(), font3, Brushes.Red, 58, points1[0].Y - 20);g.DrawString(Count1[1].ToString(), font3, Brushes.Red, 138, points1[1].Y - 20);g.DrawString(Count1[2].ToString(), font3, Brushes.Red, 218, points1[2].Y - 20);g.DrawString(Count1[3].ToString(), font3, Brushes.Red, 298, points1[3].Y - 20);g.DrawString(Count1[4].ToString(), font3, Brushes.Red, 378, points1[4].Y - 20);g.DrawString(Count1[5].ToString(), font3, Brushes.Red, 458, points1[5].Y - 20);g.DrawString(Count1[6].ToString(), font3, Brushes.Red, 538, points1[6].Y - 20);Pen mypen3 = new Pen(Color.Green, 2);Point[] points2 = new Point[7];points2[0].X = 60; points2[0].Y = 340 - Count2[0];points2[1].X = 140; points2[1].Y = 340 - Count2[1];points2[2].X = 220; points2[2].Y = 340 - Count2[2];points2[3].X = 300; points2[3].Y = 340 - Count2[3];points2[4].X = 380; points2[4].Y = 340 - Count2[4];points2[5].X = 460; points2[5].Y = 340 - Count2[5];points2[6].X = 540; points2[6].Y = 340 - Count2[6];g.DrawLines(mypen3, points2); //绘制折线//绘制通过⼈数g.DrawString(Count2[0].ToString(), font3, Brushes.Green, 61, points2[0].Y - 15); g.DrawString(Count2[1].ToString(), font3, Brushes.Green, 131, points2[1].Y - 15); g.DrawString(Count2[2].ToString(), font3, Brushes.Green, 221, points2[2].Y - 15); g.DrawString(Count2[3].ToString(), font3, Brushes.Green, 301, points2[3].Y - 15);g.DrawString(Count2[4].ToString(), font3, Brushes.Green, 381, points2[4].Y - 15); g.DrawString(Count2[5].ToString(), font3, Brushes.Green, 461, points2[5].Y - 15);g.DrawString(Count2[6].ToString(), font3, Brushes.Green, 541, points2[6].Y - 15);//绘制标识g.DrawRectangle(new Pen(Brushes.Red), 180, 390, 250, 50); //绘制范围框g.FillRectangle(Brushes.Red, 270, 402, 20, 10); //绘制⼩矩形g.DrawString("报名⼈数", font2, Brushes.Red, 292, 400);g.FillRectangle(Brushes.Green, 270, 422, 20, 10);g.DrawString("通过⼈数", font2, Brushes.Green, 292, 420);System.IO.MemoryStream ms = new System.IO.MemoryStream();image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);Response.ClearContent();Response.ContentType = "image/Jpeg";Response.BinaryWrite(ms.ToArray());}finally{g.Dispose();image.Dispose();}}三. 扇形统计图的绘制效果图:扇形图完整代码:private void CreateImage(){//把连接字串指定为⼀个常量SqlConnection Con = new SqlConnection("Server=(Local);Database=committeeTraining;Uid=sa;Pwd=**");Con.Open();string cmdtxt = selectString; // "select * from ##Count"; ////SqlCommand Com = new SqlCommand(cmdtxt, Con);DataSet ds = new DataSet();SqlDataAdapter Da = new SqlDataAdapter(cmdtxt, Con);Da.Fill(ds);Con.Close();float Total = 0.0f, Tmp;//转换成单精度。
