import numpy as np
import matplotlib.pyplot as plt
import string
import mathx1=[np.pi*i/10for i inrange(1,21)]#这里要计算好角度问题,360°等于2pi,分成20份那就除以20.
x2=np.pi*1/30#x2=[np.pi/15+np.pi*i/30 for i in range(1,61)]
fig=plt.figure(figsize=(13.44,7.5))
ax=fig.add_subplot(111,projection='polar')
ax.bar(x=x1,height=80,width=np.pi/10,bottom=15,color='w',edgecolor='k')#宽度等于X的长度 将x轴理解成平常的坐标轴,只是变换成了角度
ax.axis('off')#将坐标轴信息去掉
f=open('abc.txt','r')
liebiao=f.read().replace('GME','AH628_').replace('_g','').split('\n')[0:20]#这里的文档是获取标签用的。标签可以自己做'''y=90
z=''
num=0
for x in x1:i=liebiao[num]plt.text(x, y, '%s' % eval('i'), ha='center',rotation=math.degrees(x))num+=1'''#中间这一段是给Bar上面加上标签 但是做的很丑plt.rcParams['font.sans-serif']=['Microsoft YaHei']ax.bar(x=x1,height=65,width=np.pi/10,bottom=15,color='w',edgecolor='k')for i inrange(1,21):x2=x2+np.pi*1/10#要加上pi/10 因为是20个格子,要间隔ax.bar(x=float(x2), height=np.random.randint(20,40),width=np.pi/30,bottom=15,color='b',edgecolor='w')
x2=2*np.pi*1/30#x轴的起点换成自己需要的间隔for i inrange(1,21):x2=x2+np.pi*1/10ax.bar(x=float(x2), height=np.random.randint(20,40),width=np.pi/30,bottom=15,color='r',edgecolor='w')
x2=3*np.pi*1/30for i inrange(1,21):x2=x2+np.pi*1/10ax.bar(x=float(x2), height=np.random.randint(20,40),width=np.pi/30,bottom=15,color='g',edgecolor='w')
plt.show()
# RoseDraw
import turtle as t# 定义一个曲线绘制函数
def DegreeCurve(n, r, d 1):for i in range(n):t.left(d)t.circle(r, abs(d))# 初始位置设定
s 0.2
t.setup(450*5*s,750*5*s)
t.pencolor("black")
t.fillcolor("red")
t.speed(100)
t.penup()
t…