Python中怎么用Pygame画饼图及分割饼图
Admin 2022-06-20 群英技术资讯 1036 次浏览
导入随机包,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最具特色的是用缩进来标明成块的代码。我下面以if选择结构来举例。if后面跟随条件,如果条件成立,则执行归属于if的一个代码块。
这篇文章主要介绍了Python基础之赋值,浅拷贝,深拷贝的区别,文中有非常详细的代码示例,对正在学习python基础的小伙伴们也有非常好的帮助,需要的朋友可以参考下
这篇文章主要介绍了Python应用之利用pyecharts画中国地图,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
这篇文章主要介绍了python3中rsa加密算法详情,rsa加密,是一种加密算法,目前而言,加密算法,是对数据、密码等进行加密,下文更多相关介绍,需要的小伙伴可以参考一下
tfrecord是tensorflow中常用的数据打包格式,这篇文章给大家介绍的就是关于tfrecord文件的生成和读取,本文有具体以及步骤,具有的一定的参考价值,需要的朋友可以参考学习。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008