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

智能推荐

最新版FatFs R0.14移植到STM32F4工程中所遇问题汇总_stm32 fatfs 文件丢失_zhizw的博客-程序员秘密

因最近赶论文,先作小记,以后有时间再整理。。。之前在STM32F4工程中将数据直接保存在SD卡上,没有文件系统,虽然可以充分利用SD卡的空间,但不得不借助WinHex等工具才能读取出数据,保存成可识别的文本文件或二进制文件,然后再做数据解析、处理,这个过程非常麻烦,且对于用户来说不具可操作性。因此,考虑在工程中使用FatFs,牺牲一部分SD容量换取后续处理数据的便捷,也是值得的!学习了正点...

2019年华为开发者大会_如何在2019年及以后成为自由开发者的品牌_cumian8165的博客-程序员秘密

2019年华为开发者大会The web development industry is booming. Web开发行业正在蓬勃发展 。 This may be advantageous for freelancers, but it also has its negatives. 这对于自由职业者可能是有利的,但也有其负面影响。 What negatives? 什么负面因素? When i...

如何正确理解《中医医院信息化建设基本规范》和《中医医院信息系统基本功能规范》_computersoftware的博客-程序员秘密

《中医医院信息化建设基本规范》(下称《建设规范》)和《中医医院信息系统基本功能规范》(下称《功能规范》)是国家中医药管理局2011年10月制定印发的,规范提出以医院管理和中医电子病历为重点,构建中医药特色鲜明、技术平台先进、服务管理规范、系统安全高效的现代化中医医院。        《功能规范》主要分为基础功能与医院信息集成平台、临床服务部分和医院管理部分。《功能规范》指出,中医医院信息系

跟我来学小程序(一)项目目录和项目文件介绍_pages目录的作用_ShrMuscles的博客-程序员秘密

大家好,我是一个爱举铁的程序员Shr。 本篇文件介绍小程序项目的目录和项目文件。 源码地址:https://github.com/ShrMus/wechat_xcx/tree/master/demo_20180603 一、新建项目打开微信web开发者工具,选择小程序项目,由于没有新建过项目,打开之后是下图的界面,选择项目目录,填写注册之后获得的AppID,填写项目名...

Unity用键盘控制物体左右旋转前后移动的c#脚本_猿憨憨的博客-程序员秘密

using System.Collections;using System.Collections.Generic;using UnityEngine;public class CubeScript : MonoBehaviour {void Start () {}void Update () {        float Hor = Input.Get

敌兵布阵(树状数组 ) HDU 1166_敌兵布阵(树状数组)【hdu1166】_SY_Pistachio的博客-程序员秘密

敌兵布阵 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 123593    Accepted Submission(s): 51789   Problem Description C国的死对头A国...

随便推点

【周阳-Redis】【08】Redis的Master-Slave_redis salves=4_lpruoyu的博客-程序员秘密

持续学习&持续更新中…守破离【周阳-Redis】【08】Redis的Master-SlaveRedis的Master-Slave单机多Redis实例搭建环境怎么玩常用三招一主多仆反客为主薪火相传(去中心化)哨兵模式(sentinel)是什么怎么玩主从复制原理主从复制缺点参考Redis的Master-Slave行话:也就是我们所说的主从复制,主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制Master以写为主,Slave以读为主可以实现的主要功能:读写.

Spring mvc 接入 shardingsphere5.0.0 自定义表分片规则_shardingsphere5.0自定义分片_wangzy-nice的博客-程序员秘密

背景最近在搞数据迁移,之前存储的介质为mongo,集团层面在推动mongo下线,所以迁移到mySql是主流趋势,mongo目前共6分片,总数大概40亿左右,mySql承接的话,设计为32个库,每个库128个表。数据库的分片,中间件团队已经做了,我们需要处理的是路由到表这块的处理前置官方资料https://shardingsphere.apache.org/document/ 选择5.0.0版本进行阅读使用Spring boot 能很快结束开发,使用Spring mvc实属无奈,但是旧系统升级重构

Netty_Android 使用netty与服务器保持长连接腾讯_张俨的博客-程序员秘密

Netty_Android项目地址:https://github.com/zhangYanGitHub/Netty_Demo采用netty-4.1.16.Final 于服务器保持长连接进行通讯主要思路为: 开启一个service 初始化Netty连接service 类private NetworkReceiver receiver; public static...

el-tooltip内容换行,很简单,加一行代码_el-tooltip换行_阿林阿林的博客-程序员秘密

项目需求其实很常见,就是平时的问号提示语就是这个问号,但是没有换行,视觉效果太差了如图:代码:<el-tooltip class="item" effect="dark" content="创建创意时从视频中自动抽取多帧图片优选生成封面,本方案无需手动上传图片" placement="top"> <i class="el-icon-question smartTip"></i></el-tooltip>修改..

C++学习记录002——创建C++动态链接库封装类(函数)给MFC调用(初学者详细步骤)_vc动态链接库按照类的形式封装_SYW#的博客-程序员秘密

工具:VS2019项目:MFC调用C++动态链接库的项目的DLL一、创建DLL如图,选好要创建的项目取个名字,选好地址,点击“创建”在解决方案资源管理器中,右击“头文件”——>"添加“——>"新建项",选择”头文件(.h)"——>取个名字——>点击“添加”...

NBMA环境下OSPF配置需要注意的地方_weixin_33781606的博客-程序员秘密

在NBMA环境下特别需要注意的是ospf网络类型的语句即:    R2511AS#sh run in s 1.10  Building configuration...    Current configuration : 279 bytes  !  interface Serial1.10 multipoint   ip address 11.1.1.4 255.255.2...

推荐文章

热门文章

相关标签