Python中怎么用Pygame画饼图及分割饼图
Admin 2022-06-20 群英技术资讯 1364 次浏览
导入随机包,pygame,系统包,time时间包用于时间暂停。math是用来确认弧度的。
import random import pygame, sys, time import math from pygame.locals import *
初始化pygame,设置窗口大小标题,设置圆心的x和y轴,圆的半径,线条的宽度,这里设置的足够大,就会填充整个扇形。设置圆形的属性,初始的扇形的个数设置为2
pygame.init() screen = pygame.display.set_mode((400, 400)) pygame.display.set_caption("分饼干") # 饼图设置 x = 200 y = 200 radius = 100 # 颜色 WHITE = (255, 255, 255) # 线条宽度 WIDTH = 100 # 设置椭圆的属性 ellipse = (x - radius, y - radius, radius * 2, radius * 2) # 扇形大小 sectorNum = 2
根据按下数字的键,改变扇形的个数
def get_sector_num(key): """根据用户输入的数字决定扇形的大小""" if key == pygame.K_2: return 2 elif key == pygame.K_3: return 3 elif key == pygame.K_4: return 4 elif key == pygame.K_5: return 5 elif key == pygame.K_6: return 6 elif key == pygame.K_7: return 7 elif key == pygame.K_8: return 8 elif key == pygame.K_9: return 9 return 1
循环扇形的个数,计算开始结束的弧形,并设置随机的颜色。
while True: for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() if event.type == KEYDOWN: if event.key == pygame.K_ESCAPE: pygame.quit() sys.exit() else: sectorNum = get_sector_num(event.key) screen.fill(WHITE) for i in range(sectorNum): start_angle = 0 + (360 / sectorNum) * i end_angle = (360 / sectorNum) * (i + 1) pygame.draw.arc(screen, (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)), ellipse, math.radians(start_angle), math.radians(end_angle), 100) pygame.display.update() time.sleep(1)
import random import pygame, sys, time import math from pygame.locals import * pygame.init() screen = pygame.display.set_mode((400, 400)) pygame.display.set_caption("分饼干") # 饼图设置 x = 200 y = 200 radius = 100 # 颜色 WHITE = (255, 255, 255) # 线条宽度 WIDTH = 4 # 设置椭圆的属性 ellipse = (x - radius, y - radius, radius * 2, radius * 2) # 扇形大小 sectorNum = 2 def get_sector_num(key): """根据用户输入的数字决定扇形的大小""" if key == pygame.K_2: return 2 elif key == pygame.K_3: return 3 elif key == pygame.K_4: return 4 elif key == pygame.K_5: return 5 elif key == pygame.K_6: return 6 elif key == pygame.K_7: return 7 elif key == pygame.K_8: return 8 elif key == pygame.K_9: return 9 return 1 while True: for event in pygame.event.get(): if event.type == QUIT: pygame.quit() sys.exit() if event.type == KEYDOWN: if event.key == pygame.K_ESCAPE: pygame.quit() sys.exit() else: sectorNum = get_sector_num(event.key) screen.fill(WHITE) for i in range(sectorNum): start_angle = 0 + (360 / sectorNum) * i end_angle = (360 / sectorNum) * (i + 1) pygame.draw.arc(screen, (random.randint(0, 255), random.randint(0, 255), random.randint(0, 255)), ellipse, math.radians(start_angle), math.radians(end_angle), 100) pygame.display.update() time.sleep(1)
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了Python中的字典合并与列表合并技巧,下文围绕主题展开详细的内容介绍,具有一的的参考价值,需要的小伙伴可以参考一下
这篇文章主要介绍了浅谈Python基础之列表那些事儿,文中有非常详细的代码示例,对正在学习Python基础的小伙伴们有很好地帮助,需要的朋友可以参考下
这篇文章主要介绍了Python字符串编码转换 encode()和decode()方法详细的说明,下面文章围绕encode()和decode()方法的相相关资料展开内容,具有一定的价值,需要的朋友卡通参考一下
在数据分析的过程中通常要对数据进行清洗与处理,而其中比较重要和常见的操作就有对数据进行筛选与查询,下面这篇文章主要给大家介绍了关于如何利用Pandas查询选取数据的相关资料,需要的朋友可以参考下
这篇文章介绍的是python中绘图使用的subplots函数的内容,本文会分享一些常用的subplots函数用法,对大家学习或者工作都有一定的帮助,感兴趣的朋友可以了解看看。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008