博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
matplotlib 雷达图2
阅读量:6506 次
发布时间:2019-06-24

本文共 1887 字,大约阅读时间需要 6 分钟。

说明

搞了一个最新版本的雷达图,比以前那个美观。

不多说,代码奉上:

完整代码

'''matplotlib雷达图'''import numpy as npimport matplotlib.pyplot as plt# 雷达图def plot_radar(labels, data, score):    '''    用法:    >>> labels = np.array(['艺术A','调研I','实际R','常规C','企业E','社会S']) #标签    >>> data = np.array([1,4,3,6,4,8]) # 数据    >>> score = 10 # 表明数据是“十分制”。其可选的选项有1分制、5分制、10分制、100分制            >>> plot_radar(labels, data, score) # 画雷达图    '''    n = len(labels)        # 转化为十分制!!!    if score in [5, 10, 100]:        data = data * 10/score    elif score == 1:        data = data * 10        angles = np.linspace(0 + np.pi/2, 2*np.pi + np.pi/2, n, endpoint=False) # 旋转90度,从正上方开始!        data = np.concatenate((data, [data[0]])) # 闭合    angles = np.concatenate((angles, [angles[0]])) # 闭合            fig = plt.figure()    ax = fig.add_subplot(111, polar=True)# 参数polar,表示极坐标!!        # 自己画grid线(5条环形线)    for i in [2,4,6,8,10]:        ax.plot(angles, [i]*(n+1), 'b-',lw=0.5) # 之所以 n +1,是因为要闭合!         # 填充底色    ax.fill(angles, [10]*(n+1), facecolor='g', alpha=0.5)    # 自己画grid线(6条半径线)    for i in range(n):        ax.plot([angles[i], angles[i]], [0, 10], 'b-',lw=0.5)                # 画线    ax.plot(angles, data, 'bo-', linewidth=2)        # 填充    #ax.fill(angles, data, facecolor='r', alpha=0.25)    ax.fill(angles, data, facecolor='r')            ax.set_thetagrids(angles * 180/np.pi, labels, fontproperties="SimHei")    ax.set_title("matplotlib雷达图", va='bottom', fontproperties="SimHei")    ax.set_rlim(0,10)    # 下两行去掉所有默认的grid线    ax.spines['polar'].set_visible(False) # 去掉最外围的黑圈    ax.grid(False)                        # 去掉中间的黑圈    # 关闭数值刻度    ax.set_yticks([])    plt.show()# 测试if __name__ == '__main__':        labels = np.array(['艺术A','调研I','实际R','常规C','企业E','社会S']) #标签        data = np.array([1,4,3,6,4,8]) # 数据        score = 10 # 表明数据是“十分制”。其可选的选项有1分制、5分制、10分制、100分制            # 画雷达图    plot_radar(labels, data, score)

效果图

709432-20170814184719709-331449375.png

转载地址:http://lvwfo.baihongyu.com/

你可能感兴趣的文章
《PHP和MySQL Web 开发》 第12章 MySQL高级管理
查看>>
android:supportsRtl="true"
查看>>
数据库设计 Step by Step (6) —— 提取业务规则
查看>>
深入理解java异常处理机制
查看>>
Redis客户端redisson实战
查看>>
连接到 JasperReports Server
查看>>
java处理高并发高负载类网站问题
查看>>
使用C#生成随机密码(纯数字或字母)和随机卡号(数字与字母组合)
查看>>
CAS服务器端集群
查看>>
Android内存泄漏的常见场景及解决方案
查看>>
设计模式 之 访问者模式
查看>>
EasyUI datagrid隐藏<thead>表头
查看>>
用JS获取地址栏参数的方法
查看>>
JAVA Collections框架
查看>>
更改Windwos server 2003 域用户密码策略默认配置
查看>>
网站白名单可行性分析
查看>>
Ruby && Rails开发资源
查看>>
进制转换
查看>>
反转字符串中的单词
查看>>
html与html5的一些区别
查看>>