python绘制立体扇形_你不知道的4种方法:python方法绘制扇形_weixin_39766109的博客-程序员秘密

技术标签: python绘制立体扇形  

1 说明:

=====

1.1 是问答中的我的一个回答。

1.1 因为问答中没有代码块的,所以我改为这里写文章,然后链接过去。

1.2 4种方法:turtle法、OpenCV法、pygame法和matplotlib法。

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F0921%2Faeffab8bj00qgzlfj0014c000hs00bvc.jpg&thumbnail=650x2147483647&quality=80&type=jpg

2 turtle法:

=======

2.1 代码:

#第1步:导入模块import turtle as t#第2步:初始化设置#窗口大小t.setup(800,800)#画笔颜色t.pencolor("green")#画笔粗细t.pensize(2.5)#第3步:开始绘画#r=300t.fd(300)#向左转向90==本来方向是水平向右t.left(90)#这时候方向就是垂直向上#画圆r=300,120°t.circle(300,120)#转角t.left(90)#走300=r,回到原点(圆点)t.fd(300)t.done()

2.2 效果图:

6dd554dag00qgzlfk006ic001o000zec.gif

3 OpenCV法:

==========

3.1 代码:注释版

#cv2就是OpenCV#第1步:导入模块import numpy as npimport cv2#第2步:Create a black image#窗口或者空的图像的大小pic_w=pic_h=800#获取中心点坐标centerxy=int(pic_w/2)#产生一个空的图像img = np.zeros((pic_w,pic_h,3), np.uint8)#第3步:画椭圆来画扇形#cv2.ellipse(img, center, axes, angle, startAngle, endAngle, #color[, thickness[, lineType[, shift]]])#重要参数:'''img: 图片center:椭圆中心(x,y) 比如==(256,256)axes:x/y轴的长度 比如==(100,50)angle:angle--椭圆的旋转角度==0#角度是以顺时针方向计算的startAngle:startAngle--椭圆的起始角度==90endAngle:endAngle--椭圆的结束角度==180color: 颜色'''#坐标点(centerxy,centerxy)代表窗口的中心点#270°开始,顺时针,180°停止img = cv2.ellipse(img,(centerxy,centerxy),(100,50),0,270,180,(0,255,0),-1)cv2.imshow('image',img)cv2.waitKey(0)cv2.destroyAllWindows()

3.2 效果图:

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F0921%2F5217432dj00qgzlfj0005c000c400bmc.jpg&thumbnail=650x2147483647&quality=80&type=jpg

4 pygame法:

==========

4.1 代码:

#注意pygame画扇形是通过画弧形来的,一般弧形宽度为1#如果宽度等于半径,就是扇形#第1步:导入模块import pygame,sys,mathfrom pygame.locals import *#第2步:初始化pygame.init()#窗口大小设置screen = pygame.display.set_mode((600,500))#窗口标题名pygame.display.set_caption("sector扇形")#第3步:循环while True: #退出设置,pygame必须在循环中一开始就设立 for event in pygame.event.get(): if event.type in (KEYDOWN,QUIT): sys.exit() #背景颜色填充255,255,255==白色 screen.fill((0,0,0)) #黑色 color = 0,0,255 #蓝色 start_angle = math.radians(0) end_angle = math.radians(80) #注意width一般为1,那就是弧形,当等于r=radius就是扇形 width = 200 x = 300 y = 250 radius = 200 #位置公式,喜欢这样,看得懂 position = x - radius, y - radius, radius*2, radius*2 #利用画弧形函数 pygame.draw.arc(screen,color,position,start_angle,end_angle,width) pygame.display.update()

4.2 图:

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F0921%2F59886240j00qgzlfj000fc000f400dic.jpg&thumbnail=650x2147483647&quality=80&type=jpg

5 matplotlib法:

==========

5.1 代码:

#利用饼图画扇形,不显示其他#第1步:导入模块import matplotlib.pyplot as plt#第2步:定义画布fig = plt.figure(figsize=(8,6), dpi=80)#第3步:数据datax=[10,20,40,20,10]#突出第3部分explode = [0,0,0.1,0,0]#显示突出第3部分,其余均为w=白色colorx=['w','w','r','w','w']#第4步:作图,设置标签,突出显示块,显示百分比#plt.pie(frac, labels=labels, explode=explode, autopct="%.1f%%",colors=colorx)#不显示其他部分plt.pie(datax,explode=explode,colors=colorx)#标题名plt.title("扇形图")#图片展示plt.show()

5.2 图:

?url=http%3A%2F%2Fdingyue.ws.126.net%2F2020%2F0921%2Fcfd4bc43j00qgzlfj000ac000hs00dlc.jpg&thumbnail=650x2147483647&quality=80&type=jpg

喜欢不?关注我不迷路。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39766109/article/details/109876251

智能推荐

耗时一周整理的前端面试题,干货为主_什么是原型链_w13707470416的博客-程序员秘密

websocketWebsocket同http一样都是是基于tcp的,可靠性的双向通信协议,是建立在tcp之上的,并且是持久化的协议。websocket 和http区别?相同点都是应用层的协议都是基于tcp,可靠的协议不同点websocket是持久化的协议.websocket是双向通信协议,模拟socket协议,可以双向发送信息,而HTTP是单向的websocket...

《Redis设计与实现》_第四章_哈希算法_The Sardine的博客-程序员秘密

哈希算法要想把一个新的键值对添加到字典里,程序首先需要根据键值对的键计算出哈希值和索引值。然后根据索引值将包含新键值对的哈希表节点放到哈希表数组的指定索引上面。Redis计算哈希值和索引值的方法#计算哈希值字典设置的哈希函数——hashFunction(key);,它是dictType结构中保存的函数。所以在计算时,调用dict结构中的type指针指向的hashFunction函数。hash = dict->type->hashFunction(key);#计算索引值使用哈希表

C#(ASP.NET)增删改_「已注销」的博客-程序员秘密

1.增加(1)DataList数据库数据绑定(https://www.cnblogs.com/furuipeng/p/10509859.html)(2)执行存储过程底层代码:(3)调用存储过程与传参:(4)刷新页面:2.删除(1)DataList数据库数据绑定(https://www.cnblogs.com/furuipeng/p/10509859....

Mac安装并使用telnet命令操作_brew install telnet_爱笑的架构师的博客-程序员秘密

热门精选文章,更多技术干货,微信搜索公众号【爱笑的架构师】,回复数字“666”,获取大量免费技术资料,都是经典中的经典:自从mac系统升级后,就无法使用telnet,但使用ping有时又不够准确,因此寻找一些可以使用telnet的操作方式。brew install telnet在已安装brew的情况下,使用上述命令即可安装telnet,但我操作的时候有报错,报错信息如下:> brew install telnetUpdating Homebrew...Error: The fo

scrapy爬虫框架实现url跟进爬取页面详情_跟进爬虫_fallwind_of_july的博客-程序员秘密

  本篇博文将介绍如何搭建爬虫项目实现目录页的数据爬取,并对每个目录标题下的url进行跟进,进入该url爬取该页面的详情内容。最后把结果保存为本地json文件或者csv文件。详细的项目搭建操作已经在前面博文中提及了,可以参考:https://blog.csdn.net/fallwind_of_july/article/details/97246577  文章非常适合有入门基础的小伙伴们一起学习...

三角网导线平差实例_三角网闭合导线计算()_我有特别的生活方法的博客-程序员秘密

内角观测值改正后角值°′″°′″计算值改正后的值计算值改正数改正后的值1795958-2″1800000497.140.0040-0.0010.00100监理:日期:计算:复核:A2-4改正数Vβ=(-fβ)/n=-2″/3=-1.00″角度闭合差及改正数之计算∑-0.0040草图∑β理=180°×(3-2)=180°∑△x理=0∑△y理=0fD=√fx2+fy2=√0.004...

随便推点

深度强化学习笔记(二)——Q-learning学习与二维寻路demo实现_qlearning经纬度_没有顶会的咸鱼的博客-程序员秘密

深度强化学习笔记(二)——Q-learning学习与二维寻路demo实现文章目录深度强化学习笔记(二)——Q-learning学习与二维寻路demo实现前言理论什么是Q-Learning算法学习率折扣因子初始条件例子代码基础版走迷宫示意图升级版走迷宫示意图完整代码前言这几天稍微闲下来,把原来漏的坑给补上,并做了一个Q-Learning的demo,因为Q-leraning的demo,目前我看到比较多的都是莫烦大佬讲的那个一纬寻路的demo,我觉得看起来没有那么有代表性,于是在此基础上,自己修改做了一个二

盒子上下、左右居中对齐的常见方式_盒子上下居中_越努力越的博客-程序员秘密

盒子居中对齐的常见方式首先 html 布局,两层盒子,实现子盒子相当于父盒子上下、左右分别对其。 <div class="div1"> <div class="div2"></div> </div>然后编写 CSS 实现的具体几种方法如下:1 第一种:使用CSS的 position 属性和margin: auto; .div1 { width: 100px;

安全狗怎么添加php,[WEB]绕过安全狗与360PHP一句话的编写_儒雅的半帘香雾的博客-程序员秘密

狗确实是令人很头疼,特别是在是在发送一段话或是载入一段话的那时候,会被xX狗阻拦进而拿下不来shell。或许,安全狗是非常简单的这款waf,非常容易就开展1个绕开。针对绕开xX狗跟400,我姿态很少,可是却很好用为下列二种可变性自变量引证自变量可变性自变量(水果刀将会出错拷贝编码常常应用的人都了解,仅仅非常简单的一段话,只有一切waf与标准人们先來添加必须的涵数拷贝编码人们先來检测下是不是被杀能够...

CAS单点登录(SSO)完整教程_Torreson的博客-程序员秘密

一、教程说明前言教程目的:从头到尾细细道来单点登录服务器及客户端应用的每个步骤单点登录(SSO):请看百科解释猛击这里打开本教程使用的SSO服务器是Yelu大学研发的CAS(Central Authentication Server),官网:http://www.jasig.org/cas本教程环境:Tomcat6.0.29JDK6CAS Server版本:cas-se

OMPL138多网口开发板_weixin_34124651的博客-程序员秘密

Revision HistoryRevisionNo.DescriptionDraftDateV1.01.初始版本。2014/12/22阅前须知版权声明 本手册版权归属广州创龙电子科技有限公司所有,非经书面同意,任何单位及个人不得擅自摘录本手册部分或全部,违者我们将追究其法律责任。本文档一切解释权归广州创龙电子科技有限公司所有。 2014-2018Guangz...

一、数组的封装_封装数组__JenKin的博客-程序员秘密

数组首先本身就是一个数据结构,在Java中ArrayList就是一个基于数组而实现的非常好用的工具,这里我就是对数组实现了一些简单的封装,让我们的数组拥有了一些简单的增删改查的功能。 源码贴出~package com.array;/** * java数据结构与算法----数组 * 数组本身就是一种数据结构,这里是对数组的简单封装 * @author ** * */public clas