使用python简单绘制雷达图
使用python简单绘制雷达图
·
完整代码如下:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family']='SimHei' #将字体设置为黑体'SimHei'
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
labels = np.array(["语文", "数学", "英语", "化学", "物理","生物","信息"])
dataLenth = 7 # 数据长度
data = np.array([83, 61, 95, 67, 76, 88, 40])
angles = np.linspace(0,2*np.pi,dataLenth,endpoint=False) #根据数据长度平均分割圆周长
#闭合
data = np.concatenate((data,[data[0]]))
angles = np.concatenate((angles,[angles[0]]))
labels=np.concatenate((labels,[labels[0]])) #对labels进行封闭
fig = plt.figure(facecolor="white") #facecolor 设置框体的颜色
plt.subplot(111,polar=True) #将图分成1行1列,画出位置1的图;设置图形为极坐标图
plt.plot(angles,data,'bo-',color ='g',linewidth=2)
plt.fill(angles,data,facecolor='g',alpha=0.25) #填充两条线之间的色彩,alpha为透明度
plt.thetagrids(angles*180/np.pi,labels) #做标签
#plt.figtext(0.52,0.95,'雷达图',ha='center') #添加雷达图标题
plt.grid(True)
plt.show()
补充:
- numpy.linspace() 函数作为序列生成器,用于在线性空间中以均匀步长生成数字序列。这里使用序列生成器,均匀生成雷达图中每个点相对于极轴的角度(弧度制)。
- numpy.concatenate() 函数用于完成数组的拼接。这里是指使雷达图的点数据首尾相连,形成封闭图形。
运行结果如下:
更多推荐
活动日历
查看更多
直播时间 2025-02-26 16:00:00


直播时间 2025-01-08 16:30:00


直播时间 2024-12-11 16:30:00


直播时间 2024-11-27 16:30:00


直播时间 2024-11-21 16:30:00


所有评论(0)