matplotlib 雷达图2

说明

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

不多说,代码奉上:

完整代码

'''
matplotlib雷达图
'''
import numpy as np
import 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)

效果图

时间: 2024-10-01 23:49:54

matplotlib 雷达图2的相关文章

matplotlib雷达图

用matplotlib画雷达图,网上流传的版本其实都是官网的一个例子.但是那个例子太复杂,而且它封装了几个类,让人难以一眼看出其本质.   我给出一个简单的解决方法,没有任何封装.作本文的原因,是为了回答百度网友的提问.   好吧,图很丑~~~. 原问题见:http://zhidao.baidu.com/question/1048071753829017339.html?fr=qlquick&entry=qb_browse_word   [效果图]   增加一个数据,并且使用了填充     [源

python批量制作雷达图的实现方法_python

前言 因为工作需要有时候要画雷达图,但是数据好多组怎么办?不能一个一个点excel去画吧,那么可以利用python进行批量制作,得到样式如下: 首先制作一个演示的excel,评分为excel随机数生成: 1 =INT((RAND()+4)*10)/10 加入标签等得到的excel样式如下(部分,共计32行): 那么接下来就是打开python写码了,本文是基于pycharm进行编写   wb = load_workbook(filename=r'C:\Users\Administrator\Des

LINQ TO SQL实现雷达图

系统环境 本文介绍Linq to sql在实际工程中的例子,利用微软chart控件实现调查反馈表的雷达图(Radar Chart). 系统环境 Visual Studio 2010 +NET Framework 3.5+Microsoft SQL Server 2005+Window XP+ SP3 LINQ TO SQL采用配置式开发 微软chart控件,微软强大的图表控件参见:http://www.cnblogs.com/zfnh2002,可惜不支持Data Dig功能. 开发背景 问题提出

win8.1系统如何在表格数据中制作雷达图

  win8.1系统如何在表格数据中制作雷达图 具体方法如下: 1.在wps中新建一个工作簿,输入表格数据; 2.然后选中表格内容,点击插入--图表--雷达图; 3.添加好雷达图后是这样子的(如图),可以看见标题不正确,而且还没有说明; 4.然后我们修改标题和添加布局.修改标题删除原标题后直接修改就可以了.添加布局点击图表元素--快速布局,选择自己喜欢的布局; 5.当然,也可以选择不同格式的雷达图.点击图标样式--样式选择自己喜欢的图标格式; 6.你也可以设置雷达图上所要显示的数据点.点击图表删

如何在excle表中建立雷达图

  首先,我们新建一个数据表格,方便进行演示. 我们在菜单里面选择 "插入"--"图表" 我们在图标类型里面选择"雷达图",选择一个类型,点击"下一步" 我们在源数据框里面点击框选按钮框选数据. 重点就是选择好整个数据表格,框选之后界面如图所示.我们接着点击源数据按钮返回界面. 返回界面之后,就会出现一个原始的雷达图标,我们在系列里面选择"行",并且点击"下一步" 我们可以在"

Excel教程 如何绘制雷达图

今天本节教程就给大家介绍怎么通过excel快速制作雷达图. 具体操作步骤: 1.以下面表格为例制作雷达图,三个班每个科目成绩都罗列出来了. 2.选中该表格所有单元格 3.选择插入,点击其他图标下面的倒三角,再点击其中的雷达图的一种格式. 4.看到了吧,雷达图就制作出来了. 5.通过这个雷达图可以看到很多信息,比如乙班的语文和外语成绩最差,其余三科成绩都不错,有偏科现象,甲班的外语和物理成绩最差,需要追赶,丙班的化学和数学成绩较差等. 温馨提示:   雷达图最好同一标准内分析,差距过大则分析不好看

源代码-用java将excle中表格数据生成一个雷达图,并存入PPT中

问题描述 用java将excle中表格数据生成一个雷达图,并存入PPT中 网上的很多代码都是写在一个jFrame上,但是我这个项目经理要求,不要出现这样的浮框 ,点击运行的话,直接在PPT里生成一个雷达图图片.我尝试了很多方法,就是不行, 希望有这方面经验的,帮忙说一下怎么做,最好有一个源代码参考一下! 解决方案 刚才有想直接用java画一个图,但是画雷达图的时候又出现了浮框..这个jFrame也太多 了...

Silverlight 雷达图和一种特殊泡泡画法

原文:Silverlight 雷达图和一种特殊泡泡画法   自上次发了雷达图,也没怎么说一下. 这次又做了一种图,继续共享一下,就是以一个点为中心,周围绕着几个点,用一个箭头与中心相连并带有某些信息.圆 和中心都可以响应鼠标事件. 我一向不会讲解所做的东西.所以大部分我直接上源码的. 简单讲解一下: 代码结构分为4部分, 1. 首先是画布,其实就是一个canvas因为现在只有二种图, 一个雷达画布 RadarCanvas(比较特殊),和一个二维坐标画布 CoorCanvas,都派生自ChartC

求解 wpf dev 折线图、饼图、柱图、雷达图....

问题描述 wpfdev实现折线图,数据从数据库获取,最好是用wpfdev本身带的chartcontrol控件,找了好多资料,也没太研究明白.如果有免费的第三方控件效果好也行,另外还要实现数据的饼图.柱图.雷达图,还有图表的钻取.哪位高手肯给予帮助,感激不尽! 解决方案 解决方案二:不能沉啊,怎么没人进来呢?解决方案三: 解决方案四:引用2楼duanzi_peng的回复:感谢,我上去学习一下