Python中怎么用Pygame画饼图及分割饼图
Admin 2022-06-20 群英技术资讯 2301 次浏览
今天这篇给大家分享的知识是“Python中怎么用Pygame画饼图及分割饼图”,小编觉得挺不错的,对大家学习或是工作可能会有所帮助,对此分享发大家做个参考,希望这篇“Python中怎么用Pygame画饼图及分割饼图”文章能帮助大家解决问题。导入随机包,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进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
内容介绍1.绘制面积图2.绘制热力图1.绘制面积图面积图常用于描述某指标随时间的变化程度。其面积也通常可以有一定的含义。绘制面积图使用的是plt.stackplot()方法。以小学时期学的常见的追击
这篇文章主要为大家介绍了python的信号量,条件变量和事件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
这篇文章介绍了Python网络编程之ftplib模块,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
这篇文章主要为大家详细介绍了python单向链表实例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本篇文章给大家带来了关于Python的相关知识,主要为大家详细介绍了Python NumPy中数组的创建方式,文中的示例代码讲解详细,对我们学习Python有一定帮助,需要的可以参考一下。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008