五边形信息图表绘制方法

五边形信息图表绘制方法
在网络科技发展进步的当下,原来一些传统的统计图表都有了进一步的创新。以前企业的PPT都依赖微软的各应用软件来制作图表,现时企业的PPT展示的图表应用不再满足于原来的图表绘制方法,进而使用一些第三方应用软件来制作新颖漂亮的图表。由此而有许多图表制作的应用软件面市。这些图表很吸引眼球,我对此也很感兴趣,故试着写了一些各种式样图表的绘制方法,供有同好的同行参考和评论。

新样式的统计图除了有复合式,堆叠式,展开式等等,还加入了新的概念,新的形式。新的名称是信息图表,把各种需要表达的东西,如理念含义,样本值的数量,统计的目的,多重信息等等用图像图表图案组合起来,展现给受众。此类信息图主要是表达,展示和传播。在美工艺术方面创意创新,有许多独到新颖的样式,给人一个赏心悦目的感受。

在统计图表的样本值的计算方面,样本值的量的表现是一个方面,重点是量的对比,以及量的表现方法,这是体现统计图表目的的主要意义。
今在此提供一种新颖漂亮的信息图表的绘制方法,对于统计样本数据使用者自行添加。 

如何绘制五边形,各个能绘画的应用程序和编程语言都有自己的方法,然而由于我喜欢动脑,喜欢电脑绘画,就会设计一些自己的方法。在设计绘制方法时因为要多次绘制五边形,故写了个通用函数Pentagon () 。
今给大家分享一个中心是五角星的五边形信息图表的绘制方法,供大家参考。

本方法采用C语言的最基本功能:
( 1) 绘图功能画线,画圆,画矩形。
(2) 界面美工设计,界面文字打印输出。
代码中有详细的注释,通俗易懂,一看就会。

源码如下:(附图)

4aa470cbff644bba84baf1c70277a7b6.png
//*************************      
//创意艺术正五边形信息图表绘制方法
drawPentagon1 (){      //中心为五角星形
     cs.ClearDraw (0,src);   //清屏
      clearOutput();
      cs.SetFillMode (1);//0不填色,1填色
         cs.SetColor (255,230,250,250);
      cs.DrawRect (0,2,720,880);   //back board
         cs.SetColor (255,140,140,140);
      cs.DrawRect (24,24,706,806);   //back      
         cs.SetColor (255,250,250,250);
      cs.DrawRect (20,20,700,800);   //back 
      cs.SetFillMode (0);//0不填色,1填色
         cs.SetColor (255,0,0,250);
      cs.DrawRect (20,20,700,800);   //back 
      cs.DrawRect (26,25,694,795);   //back 

 

 // 正五边形绘制
     cs.SetFillMode (1);//0不填色,1填色
     cs.SetStrokeWidth(2);    //线
     dx=360 ;  dy=360 ;   //center
      L1=200 ;  Ls=124 ;    //12点钟方向
         cs.SetFillMode (0);//0不填色,1填色
    for (i=0; i<=200; i++){   //中心五角星
           cr=250-i; cg=i+50;  cb=100;  //渐变色
        cs.SetColor(255,cr, cg, cb);  
        cs.DrawCircle (dx,dy, i);    }

 //**** draw five Pentagon *****
     cs.SetFillMode (1);//0不填色,1填色
               d=72+90 ;  //d +90 , 12点钟方向
     for (i=0; i<=4; i++){    
          ma=pi/180*i*72+pi/180*90 ;
           x0=(float)(L1*cos(ma))+dx ;   
           y0=(float)(L1*sin(ma))+dy ;
          kn=(int)Ls ;   x=x0;  y=y0;    //set steps
    for (n=0; n<=kn; n++){   //fill pentagon
     cs.SetColor(255,200,250,250);  //set fill color
          Ls=n;            
          Pentagon ();   }  
     cs.SetColor(255,250,150,0);  //套框线
          Pentagon ();   }  

//打印标号
           cs.SetTextStyle (1);
      for (n=0; n<=4; n++){    //draw 标号
           ma=pi/180*n*72+180 ;
           d=n*72+90;   Ls=124;
           x5=(float)(130*cos(ma))+dx ;   
           y5=(float)(130*sin(ma))+dy ;
               cs.SetColor(255,250,200,0);  
           cs.DrawCircle (x5,y5,31) ;     
               cs.SetColor(255,0,250,250);  
           cs.DrawCircle (x5,y5,29) ;     
               cs.SetTextSize (36);
           cs.SetColor(255,150,80,220);  
           ss="0"+intToString (n+1);
           cs.DrawText (ss, x5-20 ,y5+12 ) ;     }

        cs.SetTextSize (38);
      cs.DrawText ("🏘",222,140) ;
      cs.DrawText ("🍎",455,140) ;
      cs.DrawText ("📚",110,410) ;
      cs.DrawText ("🚑",560,410) ;
      cs.DrawText ("🔬",340,620) ;

            cs.SetTextSize (30);
        cs.DrawText ("房产 ", 180,200) ;
        cs.DrawText ("生活 ", 420,200) ;
        cs.DrawText ("教育 ", 110,470) ;
        cs.DrawText ("医疗 ", 490,470) ;
        cs.DrawText ("工作 ", 300,570) ;
        cs.DrawText ("45% ", 250,200) ;
        cs.DrawText ("20% ", 490,200) ;
        cs.DrawText ("14% ", 175,470) ;
        cs.DrawText ("11% ", 560,470) ;
        cs.DrawText ("10% ", 370,570) ;


      cs.SetTextSize (50);
          cs.SetColor(255,250,250,250);     
      cs.DrawText ("👪",330,330) ;
      cs.DrawLine (295,382,425,382);
           cs.SetTextSize (24);
      cs.DrawText ("Infographics",290,370) ;
      cs.DrawText ("2024 ", 335,410) ;

 //题标:  艺术立体字制作
      cs.SetFillMode (1);//0不填色,1填色
      cs.SetTextStyle (1);
      cs.SetStrokeWidth(1);
      cs.SetTextSize (28);
      cs.SetColor(255,0,0,250);      
      cs.DrawText ("Infographics 📊",480,60) ;
      cs.SetTextSize (42);
           ss="创意艺术图:五边形艺术图" ;
      cs.SetColor(255,50,120,20);      //立体字
           cs.DrawText (ss,114,734);    //阴影
      cs.SetColor(255,0,250,0);
           cs.DrawText (ss,110,730);    //本字
      cs.SetFillMode (0);//0不填色,1填色
      cs.SetColor(255,250,150,0);
           cs.DrawText (ss,110,730);    //框线
       cs.Update ();
  }//drawPentagon1 ()

Pentagon (){    //正五边形绘制方法通用函数
// a=pi/180*i*72 ; 或a=pi/180*i*2 ;  > 画五角星 
//d=0 >3点钟,  d=180 >9点钟  ,d=90 >12点钟
//d=270 >6点钟
//x, y 坐标,Ls=Length, d=Degree 起点
//绘制的方法是圆内切五边形,为方便我不计算证明,直接以半径来代替边长了。我的目的是图形,不是如CAD的需要精确计算。
//4个参数 ( flaot x, y, L ;   int d ;  )
        a=pi/180-pi/180*d ;   
          x3=(float)(Ls*cos(a))+x ;   //起始0点
          y3=(float)(Ls*sin(a))+y ;
       // cs.DrawCircle(x3,y3,1);    //此点可加
            x5=x3 ;   y5=y3 ;

   for (m=1; m<=4; m++){   //五边点后4点位
          a=pi/180*m*72-pi/180*d ;   
          x4=(float)(Ls*cos(a))+x ;
          y4=(float)(Ls*sin(a))+y ;   //顺时针
       // cs.DrawCircle(x4,y4,1);    //此点可加
          cs.DrawLine (x5,y5,x4,y4);   //连线 
             x5=x4;  y5=y4 ;    }   
 
         cs.DrawLine (x5,y5,x3,y3);   //连线0点
}//Pentagon ()

 

//**** END *****************
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/802331.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux_进程的优先级环境变量上下文切换优先级队列

文章目录 一、进程的优先级二、进程的四个重要概念三、上下文切换四、环境变量查看当前shell环境下的环境变量与内容 五、Linux2.6内核进程调度队列一个CPU拥有一个runqueue优先级活动队列过期队列active指针和expired指针 一、进程的优先级 什么是优先级&#xff1f; 指定一个…

如何使用宝塔面板搭建MySQL数据库并实现无公网IP远程访问

文章目录 前言1.Mysql服务安装2.创建数据库3.安装cpolar3.2 创建HTTP隧道 4.远程连接5.固定TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 宝塔面板的简易操作性,使得运维难度降低,简化了Linux命令行进行繁琐的配置,下面简单几步,通过宝塔面板cp…

rhce复习3

DNS DNS&#xff08;Domain Name System&#xff09;是互联网上的一项服务&#xff0c;它作为将域名和IP地址相互映射的一个分布式数据库&#xff0c;能够使人更方便的访问互联网。 DNS系统使用的是网络的查询&#xff0c;那么自然需要有监听的port。DNS使用的是53端口&#x…

本地MinIO存储服务通过Java程序结合cpolar实现远程连接上传文件

文章目录 前言1. 创建Buckets和Access Keys2. Linux 安装Cpolar3. 创建连接MinIO服务公网地址4. 远程调用MinIO服务小结5. 固定连接TCP公网地址6. 固定地址连接测试 前言 MinIO是一款高性能、分布式的对象存储系统&#xff0c;它可以100%的运行在标准硬件上&#xff0c;即X86等…

HarmonyOS 应用开发-使用colorPicker实现背景跟随主题颜色转换

介绍 本示例介绍使用image库以及effectKit库中的colorPicker对目标图片进行取色&#xff0c;将获取的颜色作为背景渐变色&#xff0c;通过swiper组件对图片进行轮播&#xff0c; 效果图预览 使用说明 直接进入页面&#xff0c;对图片进行左右滑动&#xff0c;或者等待几秒&a…

C语言 函数——函数原型

目录 如何合并成一个完整的程序&#xff1f; 函数原型与函数定义的区别 函数原型的作用 如何合并成一个完整的程序&#xff1f; 问题&#xff1a;在一个函数中调用另一个函数&#xff0c;需要具备哪些条件呢&#xff1f; 若函数的定义出现在函数调用之前 若函数的定义出现…

转让北京通信工程施工二级资质公司要求和价格

随着通信市场的不断扩大&#xff0c;通信工程企业的发展也越来越快。在通信施工市场中&#xff0c;拥有二级资质的企业才能够更好、更稳定地参与市场竞争&#xff0c;可是资质申请过程较为繁琐&#xff0c;对于很多中小企业而言缺少人力、财力、精力等情况下&#xff0c;其实资…

网站压力测试和Locust

一、压力测试介绍 网站压力测试是一种评估网站性能、可靠性和稳定性的方法。它通过模拟大量用户同时访问网站,来测试网站的响应时间、吞吐量、资源利用率等指标,从而发现网站的潜在问题和瓶颈。下面我将从几个方面详细介绍网站压力测试: 1、压力测试的目的 评估网站在高并发…

用Python编写GUI程序将JPEG文件按文件名顺序插入PDF文件

在Python编程中&#xff0c;处理文件和图像是常见的任务之一。最近&#xff0c;我遇到了一个有趣的问题&#xff1a;如何通过编写一个GUI程序来将一个文件夹中的JPEG文件按文件名顺序插入到一个新的PDF文件中&#xff1f;在这篇博客中&#xff0c;我将分享我使用Python、wxPyth…

DC-DC芯片D1509适用于工控主板、TV板卡、安卓主板、车载功放电源等产品方案应用。

一、应用领域 适用于工控主板、TV板卡、安卓主板、车载功放电源等产品方案应用。 二、功能介绍 D1509是芯谷科技推出的一款输入耐压40V、输出电压1.23-37V可调、输出电流最大2.0A的高效率、高精度DC-DC芯片&#xff0c;其输出电压有固定3.3V、5.0V和12.0V的版本&#xff…

网络安全行业现在还能入吗?

这几年随着我国《国家网络空间安全战略》《网络安全法》《网络安全等级保护2.0》等一系列政策/法规/标准的持续落地&#xff0c;网络安全行业地位、薪资随之水涨船高。 未来3-5年&#xff0c;是安全行业的黄金发展期&#xff0c;提前踏入行业&#xff0c;能享受行业发展红利。…

【ArcPro 加载项】图层组排序子图层

最近做控规&#xff0c;CAD湘源用的比较多。 这里就需要再夸夸Pro3.0&#xff0c;对CAD和湘源的支持非常到位。顺便再鞭尸Pro3.2&#xff0c;规划人千万不要更新。 【ArcGIS 小贴士】Pro3.2逆向更新&#xff0c;不能正常显示CAD、湘源 等等&#xff0c;发现一个问题&#xf…

跨云迁移实操:AWS RDS for mysql 迁移至腾讯云mysql --DTS方式

实操场景&#xff1a;从AWS RDS for mysql 迁移至腾讯云云数据库Mysql&#xff0c;通过腾讯云数据传输服务DTS,进行实时全量增量迁移. 下面九河云给大家带来具体实践介绍 购买迁移数据库--目的端机器&#xff08;腾讯云MYSQL&#xff09; 可以源端为5.7所以新建一个参数模版 其…

常见的解析漏洞总结

文件解析漏洞 文件解析漏洞主要由于网站管理员操作不当或者 Web 服务器自身的漏洞&#xff0c;导致一些特殊文件被 IIS、apache、nginx 或其他 Web服务器在某种情况下解释成脚本文件执行。 比如网站管理员配置不当&#xff0c;导致php2、phtml、ascx等等这些文件也被当成脚本文…

回归测试覆盖率指的是什么?

定义 回归测试是指修改了旧代码后&#xff0c;重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。 在软件开发过程当中&#xff0c;一旦软件代码做了修改&#xff0c;就有可能引入新的问题&#xff0c;所以这个时候就需要把已经完成了的验证用例重新跑一下&…

vue3+Ts+Ant Design Vue +天地图组件封装

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Vue3TsAntDesign-Vue组件天地图组件的封装 示例图 首先,在index.html引入天地图资源,vue3选择v4版本 <script src"http://api.tianditu.gov.cn/api?…

【Redis】NoSQL之Redis的配置和优化

关系型数据库与非关系型数据库 关系型数据库 关系型数据库是一个结构化的数据库&#xff0c;创建在关系型模型&#xff08;二维表&#xff09;的基础上&#xff1b;一般面向于记录&#xff1b; SQL语句(标准数据查询语句)就是一种基于关系型数据库的语言&#xff0c;用于执行…

安装 windows 版 dash —— zeal

1、下载安装 下载地址&#xff1a;Download Zeal 选择 Protable 版 直接使用 zeal 下载文档比较慢甚至失败&#xff0c;可以设置代理&#xff0c;也可以使用下面两种方式。 2、手动下载 docset 文档后导入 这种方法不能够选择文档的版本 &#xff08;1&#xff09;在 http://…

达梦数据库的V$DM_INI和V$PARAMETER系统视图

V$DM_INI和V$PARAMETER是达梦数据库中两个常用的系统视图&#xff0c;用于查看数据库的配置参数。这两个视图的主要区别在于它们展示参数的来源和用途。 V$DM_INI V$DM_INI视图主要用于展示数据库启动时加载的初始化参数信息。这些信息通常来自于数据库的初始化参数文件&…

自动驾驶中的传感器融合算法:卡尔曼滤波器和扩展卡尔曼滤波器

自动驾驶中的传感器融合算法&#xff1a;卡尔曼滤波器和扩展卡尔曼滤波器 附赠自动驾驶学习资料和量产经验&#xff1a;链接 介绍&#xff1a; 追踪静止和移动的目标是自动驾驶技术领域最为需要的核心技术之一。来源于多种传感器的信号&#xff0c;包括摄像头&#xff0c;雷达…