1 说明:
=====
1.1 是问答中的我的一个回答。
1.1 因为问答中没有代码块的,所以我改为这里写文章,然后链接过去。
1.2 4种方法:turtle法、OpenCV法、pygame法和matplotlib法。
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 效果图:
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 效果图:
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 图:
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 图:
喜欢不?关注我不迷路。