绘制扇形统计图
- 格式:ppt
- 大小:2.32 MB
- 文档页数:26
◎相雨婷在工农业生产与日常生活统计中,要想清楚地表示出各部分数量同总数量之间的关系,常常选择扇形统计图。
扇形统计图是用整个圆的面积表示总数量(单位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:添加阴影,添加阴影效果可以使扇形图像更加立体感强烈。
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;//转换成单精度。
实践活动作业实践活动:调查家庭一个月收入和支出情况,绘制成一个扇形统计图姓名班级活动流程1.向父母做调查一个月的收支情况2.在A4纸上写过程及计算过程3.绘制扇形统计图过程1.分别向父亲和母亲咨询收入和支出;记录收入和支出的数据2.构思计算过程1首先将收入项目合并,算出总收入;将支出项目合并,算出总支出2根据收入项目种类和总收入,算出各收入项在总收入中的占比3根据支出项目种类和总支出,算出各支出项在总支出中的占比3.根据计算结果绘制扇形统计图数据统计父亲母亲收入支出收入支出工资:3000生活费:1000工资:3400生活费:1000-交通:300翻译:800人情往来:400-水电煤气:800写稿:400交通:300-电话:100玩游戏:400电话:100父母总收入:8000父母总支出:4000计算过程3000+3400+800+400+400=8000(元)3000+3400=6400(元)6400÷8000×100%=80%360°×80%=288°360°-288°=72°800÷8000×100%=10%360°×10%=36°400÷8000×100%=5%360°×5%=18°400÷8000×100%=5%360°×5%=18°1000+1000+300+300+800+400+100+100=4000(元)1000+1000=2000(元)2000÷4000×100%=50%360°×50%=180°300+300=600(元)600÷4000×100%=15%360°×15%=54°100+100=200(元)200÷4000×100%=5%360°×5%=18°400÷4000×100%=10%360°×10%=36°800÷4000×100%=10%360°×20%=72°绘制扇形统计图实践活动:调查家庭一个月收入和支出情况,绘制成一个扇形统计图姓名班级活动流程1.向父母做调查一个月的收支情况2.在A4纸上写过程及计算过程3.绘制扇形统计图过程数据统计父亲母亲收入支出收入支出父母总收入:父母总支出:计算过程绘制扇形统计图。
第01讲扇形统计图知识精讲1、扇形统计图的意义用一个圆表示总数量,用圆中每个扇形分别表示各部分数量占总数量的百分比。
这样的统计图叫作扇形统计图。
2、扇形统计图的特点(1)利用圆和扇形来表示总体和部分的关系。
(2)用整个圆表示总数量,每个扇形分别表示总体中的不同部分。
(3)扇形的大小反映各部分数量占总数的百分比的大小。
(4)各个扇形所占的百分比之和为1。
3、扇形统计图的绘制方法(1)算出各部分百分比。
(2)根据百分比算除算出各部分的扇形圆心角的度数。
(3)在圆中按照圆心角度数画出各个扇形,标明所表示的各部分数量的名称和所占的百分比,也可以用图例标明。
4、各种统计图的特点和作用5、选择合适的统计图要想清楚地看出各部分数量与总数量之间的关系,可以选择扇形统计图。
要反映数量的增减变化情况,可以选择折线统计图。
要想直观地看出数量的多少,可以选择条形统计图。
对点训练题型一扇形统计图的认识和运用1.一圆形花坛内种了三种花,如图所示,改用条形统计图表示它们的关系应该是()。
A.B.C.答案:B2.张老师组组全班48名同学投票选举班长,投票评选的结果为:李明24票,吴佳12票,赵云4票,马丽8票。
下面图()能表示出这个结果。
A.B.C.答案:A3.扇形统计图能清楚地看出()与()之间的关系。
答案:部分整体4.下图是山阳小学学生喜欢看的电视节目统计图,喜欢《走近科学》栏目的同学占()%;已知喜欢《大风车》的同学比喜欢《焦点访谈》的多200人,山阳小学一共有()人。
答案:32 20005.一个面馆收款方式有三种:现金支付、微信支付、支付宝支付。
如图是面馆上周日收款情况统计,店老板收到的现金是120元,收到微信支付多少元?答案:解:120÷(1-37%-43%)×43%=120÷20%×43%=600×43%=258(元)答:用微信支付的258元。
题型二统计图的选择1.要清楚地反映光明小学各年级人数多少,应选用()统计图比较合适。
教案:学会根据数据绘制扇形统计图。
一、教学目标掌握扇形统计图的概念;了解扇形统计图的基本构成与表达方式;学会根据数据绘制扇形统计图。
二、教学内容扇形统计图扇形统计图是用圆内的扇形区域表示数据的数值比例的一种图像统计方法。
扇形统计图能直观地反映某一特定数据在全部数据中的比重。
构成扇形统计图由一个圆划分成若干等份,每个部分代表一个数值比例,部分的大小是由其所代表的数据的比例大小决定的。
在扇形图中,整个圆相当于全部数据,每个区域相当于数据中的一部分。
通过比较扇形图中各部分的大小,我们可以很容易地得出这些数据的比较和关系。
表达方式形统计图可以通过手绘或计算机软件制作。
当使用计算机制图软件时,我们需要输入数据并指定每个数据部分所占比例。
三、教学步骤1.引入扇形统计图的概念。
学生已经学过饼图或柱状图,因此可以利用这些知识来引入扇形统计图。
2.解释扇形图的构成方式。
学生需要理解扇形图的基本构成,包括整个圆以及每个部分所代表的数据。
3.演示如何制作扇形统计图。
利用计算机制图软件演示如何输入数据和制作扇形统计图,让学生了解扇形统计图的表达方式。
4.让学生制作自己的扇形统计图。
让学生使用制图软件或手绘方式制作自己的扇形统计图,并在课堂上介绍其所代表的数据。
5.参观扇形统计图的实际应用。
指导学生阅读真实世界的报告和新闻报道,分析措辞和数据图表,以了解扇形统计图的实际应用。
四、教学方法课堂讨论:通过课堂讨论来帮助学生理解扇形统计图的构成和表达方式。
演示:通过制图软件演示制作扇形统计图的过程,让学生进行实践演练。
参观:指导学生参观真实世界的扇形统计图应用,包括新闻报道和报告中的扇形统计图。
五、教学资源制图软件:计算机制图软件,比如Excel。
真实世界资源:新闻报道和科技媒体报道,包括政府报告和调查研究。
六、教学评估课堂作业:让学生制作自己的扇形统计图,并在课堂上介绍其所代表的数据。
考试:考察学生对扇形统计图概念和构成方式的理解。