python的matplotlib---雷达图

1.先了解一下什么是极坐标

极点:以圆的中心作为极点O

极轴:以0°的方向引一条射线极轴Ox,

极径:选定一个长度单位r

极角:以Ox正方向开始计算角度θ(通常取逆时针方向)

极坐标:以极点O作为圆心,以极昼Ox的方向作为起点,以极径r作为半径,画一个以极角θ的扇形,最终圆规脚定的位置就是极坐标M

 

 

2.利用matplotlib画出一个点

复制代码
import matplotlib.pyplot as plt
import numpy as np

"""
20:以20作为半径
ylim(0,100):设置极轴的范围
lw=2:表示极坐标图案的宽度
ro:绘制的极坐标图形为红色圆点 
"""

plt.polar(0.25*np.pi,20,"ro",lw=2)
plt.ylim(0,100)
plt.show()
复制代码

 

 3.利用matplotlib画多个点并连成封闭图案

复制代码
import matplotlib.pyplot as plt
import numpy as np

"""
绘制多个点,并且第一个点与最后一个点相同,使其成为闭合图案
"""

theta = np.array([0.25,0.75,1,1.5,0.25])
r = [20,60,40,80,20]

plt.polar(theta*np.pi,r,"r-",lw=2)
plt.ylim(0,100)
plt.show()
复制代码

 

 4.填充颜色

复制代码
import matplotlib.pyplot as plt
import numpy as np

#使用ggplot的绘图风格
plt.style.use('ggplot')

#构建角度与值
theta = np.array([0.25,0.75,1,1.5,0.25])
r = [20,60,40,80,20]

plt.polar(theta*np.pi,r,"r-",lw=1)

#设置填充颜色,并且透明度为0.75
plt.fill(theta*np.pi,r,'r',alpha=0.75)
plt.ylim(0,100)

#显示网格线
plt.grid(True)
plt.show()
复制代码

 

 5.绘制多个数据的雷达图

复制代码
import numpy as np
import matplotlib.pyplot as plt

# 中文和负号的正常显示
plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'
plt.rcParams['axes.unicode_minus'] = False

#使用ggplot的风格绘图
plt.style.use('ggplot')

#构造数据
values = [3.2,2.1,3.5,2.8,3,4]
values_1 = [2.4,3.1,4.1,1.9,3.5,2.3]
feature = ['个人能力','QC知识',"解决问题能力","服务质量意识","团队精神","IQ"]

N = len(values)

#设置雷达图的角度,用于平分切开一个平面
angles = np.linspace(0,2*np.pi,N,endpoint=False)

#使雷达图封闭起来
values = np.concatenate((values,[values[0]]))
angles = np.concatenate((angles,[angles[0]]))

values_1 = np.concatenate((values_1,[values_1[0]]))
#绘图
fig = plt.figure()
#设置为极坐标格式
ax = fig.add_subplot(111, polar=True)
#绘制折线图
ax.plot(angles,values,'o-',linewidth=2,label='活动前')
ax.fill(angles,values,'r',alpha=0.5)

#填充颜色
ax.plot(angles,values_1,'o-',linewidth=2,label='活动后')
ax.fill(angles,values_1,'b',alpha=0.5)

#添加每个特质的标签
ax.set_thetagrids(angles*180/np.pi,feature)
#设置极轴范围
ax.set_ylim(0,5)
#添加标题
plt.title('活动前后员工状态')
#增加网格纸
ax.grid(True)
plt.show()
复制代码

 

 

posted @   changfan  阅读(19109)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
点击右上角即可分享
微信分享提示