Python绘制雷达图时遇到的坑的解决
作者:未来影子 时间:2021-05-18 00:09:03
ValueError: The number of FixedLocator locations (9), usually from a call to set_ticks, does not match the number of ticklabels (8).
运行书中例题时发现了这个错误,
原代码如上:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family']='simhei'
# 某学生的课程与成绩
courses = np.array(['C++','Python','高数','大学英语','软件工程',
'组成原理','数字图像处理','计算机图形学'])
scores=np.array([80,95,78,85,45,65,80,60])
datalength = len(scores) #数据长度
# angles数组把圆周等分为dataLength份
angles = np.linspace(0, #数组第一个数据
2*np.pi, #数组最后一个暑假
datalength, #数组中的数据量
endpoint=False) #不包含终点
scores = np.concatenate((scores,[scores[0]]))
angles = np.concatenate((angles,[angles[0]]))
# 绘制雷达图
print(angles)
print('='*20)
print(scores)
plt.polar(angles,
scores,
'rv--',
linewidth=2)
# 设置角度网络标签
plt.thetagrids(angles*180/np.pi,courses)
# 填充雷达图内部
plt.fill(angles,scores,facecolor='r',alpha=0.6)
plt.show()
自己搜查资料后,了解到,只对socres,和angles做闭合还是不够
需要再对courses进行闭合
courses = np.concatenate((courses,[courses[0]]))
此时就能正确运行出来。
这里在附上霍兰德人格分析代码:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family']="SimHei"
radar_labels = np.array(['研究型(I)','艺术型(A)','社会型(S)',\
'企业型(E)','常规型(C)','现实型(R)'])
data = np.array([[0.40, 0.32, 0.35, 0.30, 0.30, 0.88],
[0.85, 0.35, 0.30, 0.40, 0.40, 0.30],
[0.43, 0.89, 0.30, 0.28, 0.22, 0.30],
[0.30, 0.25, 0.48, 0.85, 0.45, 0.40],
[0.20, 0.38, 0.87, 0.45, 0.32, 0.28],
[0.34, 0.31, 0.38, 0.40, 0.92, 0.28]])
data_labels =('艺术家','实验员','工程师','推销员','社会工作者','记事员')
angles = np.linspace(0, 2*np.pi, 6, endpoint=False)
fig = plt.figure(facecolor = "white")
plt.subplot(111, polar = True)
plt.plot(angles, data,'o-',linewidth=1, alpha=0.2)
plt.fill(angles, data, alpha=0.25)
plt.thetagrids(angles*180/np.pi, radar_labels)
plt.figtext(0.52, 0.95, '霍兰德人格分析', ha='center', size=20)
legend = plt.legend(data_labels, loc = (0.94, 0.80), labelspacing = 0.1)
plt.setp(legend.get_texts(), fontsize='large')
plt.grid(True)
plt.savefig('holland_radar.jpg')
plt.show()
来源:https://blog.csdn.net/mynameisgt/article/details/115802432
标签:Python,雷达图


猜你喜欢
python基础之贪婪模式与非贪婪模式
2023-01-18 04:14:36

Python利用雪花算法实现生成唯一ID
2022-10-18 14:49:06

对laravel in 查询的使用方法详解
2024-06-05 09:44:06

某年第一周开始日期实现方法
2024-01-21 08:37:44

Python装饰器基础概念与用法详解
2021-07-07 12:32:46
pandas的resample重采样的使用
2023-04-07 10:33:29
python爬虫中的url下载器用法详解
2022-06-28 01:09:21
在Ubuntu使用SQL Server创建Go应用程序的图文教程
2024-01-15 10:50:50

Python文件操作,open读写文件,追加文本内容实例
2022-09-03 12:43:17
Python编程入门指南之函数
2021-05-13 15:45:31
mysql 5.7.17 winx64解压版安装配置方法图文教程
2024-01-22 07:47:16

mysql主从同步复制错误解决一例
2024-01-13 17:21:54
Python基础中的的if-else语句详解
2023-03-14 16:05:23

通过分析SQL语句的执行计划优化SQL
2011-10-24 20:03:20
Python键鼠操作自动化库PyAutoGUI简介(小结)
2022-01-04 09:08:53

python 执行终端/控制台命令的例子
2022-11-16 20:41:29
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2023-07-01 07:21:36

除Console.log()外更多的Javascript调试命令
2023-08-12 23:31:17

Golang 按行读取文件的三种方法小结
2024-02-20 18:45:29
手把手教你用python绘制热度图(heatmap)
2023-07-01 21:03:03
