python雷达图的相似度_python画雷达图
用雷达图做两个类别的特征对比,对比两个类别在各特征下的差异
类别
资产负债率
营业收入趋势
销售毛利率
现金比率
资产减值损失/营业总收入
营业收入波动比率
风险企业
0.9
0.14
0.27
0.92
0.94
0.68
正常企业
0.48
-0.12
0.13
0.27
0.05
0.46
雷达图对比
由于7个特征的量程都在0-1之间,因此不需要在做特征标准化,直接用原始值绘制雷达图
风险企业特征对比.png
python代码实现
import numpy as np
import matplotlib.pyplot as plt
matplotlib.rcParams["font.sans-serif"] = ["SimHei"] # 正常显示中文
matplotlib.rcParams["axes.unicode_minus"] = False # 正常显示负号
def radar_plot(a_array, b_array, a_label, b_label, labels, title, tick=True, axis_tick=False):
assert len(a_array) == len(b_array) == len(labels), "data array length must match labels length"
data_length = len(a_array)
angles = np.linspace(0, 2 * np.pi, data_length, endpoint=False)
angles = np.concatenate((angles, [angles[0]]))
a_array = np.concatenate((a_array, [a_array[0]]))
b_array = np.concatenate((b_array, [b_array[0]]))
plt.plot(figsize=(12, 12))
plt.polar()
plt.plot(angles, a_array, "go-", linewidth=1, label=a_label, ms=4, mfc="white", mec="g")
plt.plot(angles, b_array, "ro-", linewidth=1, label=b_label, ms=4, mfc="white", mec="r")
plt.fill(angles, a_array, facecolor="g", alpha=0.25)
plt.fill(angles, b_array, facecolor="r", alpha=0.25)
labels = np.array(labels)
plt.thetagrids(angles * 180 / np.pi, labels, fontproperties="SimHei", fontsize=20)
if tick: # 是否能显示雷达图上点的值
for i, j in enumerate(a_array):
plt.text(i - 0.4, j + 0.1, round(j, 2), ha="center", va="center", size=9)
for i, j in enumerate(b_array):
plt.text(i - 0.4, j + 0.1, round(j, 2), ha="center", va="center", size=9)
if not axis_tick: # 是否显示雷达图的纵轴刻度值
plt.tick_params(labelleft=False)
plt.legend(loc=0)
plt.title(title, fontsize=20)
plt.show()
if __name__ == "__main__":
a_array = [0.48, -0.12, 0.13, 0.27, 0.05, 0.46, 0.12 ]
b_array = [0.9, 0.14, 0.27, 0.92, 0.94, 0.68, 0.74]
radar_list_zh = ["资产负债率", "营业收入趋势" , "销售毛利率" , "现金比率", "资产减值损失/营业总收入", "营业收入波动比率" ]
radar_plot(a_array, b_array, a_label="正常企业", b_label="风险企业", labels=radar_list_zh, title="风险企业和正常企业比率指标对比雷达图", tick=True, axis_tick=False)
python雷达图的相似度_python画雷达图相关推荐
- 用python画渐变的圆_python画环形图的方法
本文实例为大家分享了python画环形图的具体代码,供大家参考,具体内容如下 import os import pandas as pd import matplotlib.pyplot as plt ...
- python画速度等值线图_python画contour图
如何用python优雅的画出优雅的contour图 我们选择画一个双曲线的等contour图,其实contour图就是等高线图,那么我们以圆的图为例,即: . 在开始之前,我们需要先对matplotl ...
- python画离散图_python画离散图
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 不过,恋习python突然想到,可以通过python将故宫的建筑物图片,转化为手 ...
- python画三维立体图难吗_Python画三维图-----插值平滑数据
一.二维的插值方法: 原始数据(x,y) 先对横坐标x进行扩充数据量,采用linspace.[如下面例子,由7个值扩充到300个] 采用scipy.interpolate中的spline来对纵坐标数据 ...
- python画人口迁徙图_echarts 手把手教你画迁徙图(城市内部级别+百度地图支持)2...
最近要做一个上海的迁徙图,搜到的都是 echarts 和mapv一样,有自己的API说明和demo 形式上非常相近,而且看起来功能比mapv更加完善. 另外是滴滴的一个蝌蚪迁徙图,看起来是真实轨迹的模 ...
- python将矩阵顺时针旋转90度_python 二维数组90度旋转的方法
如下所示: #!/usr/bin/env python #-*- coding: utf-8 -*- """ [0, 1, 2, 3] [0, 1, 2, 3] [0, ...
- 关于android中的.9图(一)——如何画.9图
大家都知道,android中有一种特殊的图片,后缀格式一般是.9.png .这种图片一般都是为了适应在使用过程中可以拉伸而不失真而引入的一种图片.本文中主要介绍9图的画法以及静态用法,所谓的静态用法就 ...
- viso如何画MySQL图_怎样使用visio画数据库模型图
计算机专业的学生在做程序的需求分析文档或者毕业设计的时候,针对自己开发的系统,肯定少不了要画数据库的模型图.许多同学喜欢用word实现,当然,word可以满足这样的功能,但我们还有更好的选择,那就是同 ...
- python计算ks值 代码_python画KS图,求KS值
ks计算公式 ks用来衡量以一定阈值选定二分类模型预测结果集,各分类命中各自组内比重的差值,某一刻阈值使得此差值最大,此刻的差值就是ks值,ks越大代表模型可以更多地命中某类标签,同时尽可能地错判另一 ...
- python 数据逆时针旋转270度_Python自动耍俄罗斯方块
小笨聪前面的文章总是用 Python 来进行爬虫,今天就换一下口味,体验一下 Python 自动耍俄罗斯方块. 小游戏 | Python自动玩俄罗斯方块mp.weixin.qq.com 俄罗斯方块( ...
最新文章
- svm涉及的一些概念
- springboot----静态页面templates文件访问
- 在linux下使用udev获取热插拔(hotplug)事件
- Java事务的类型有三种
- 抖音云蹦迪源码/很火的直播打赏类项目源码
- Java输出字符串中的叠词_java中正则表达式的简单运用 | iamxiarui
- BuildMost分享-全球最大的自贸区揭牌!建材外贸在非洲会有多大舞台?
- php代码输出笑脸,利用HTML5中的Canvas绘制笑脸的代码
- “因遭勒索软件攻击,我被认定工作失职开除,并被老东家索赔 21.5 万元”
- 云和恩墨校园招聘开始啦!
- 《Python自然语言处理-雅兰·萨纳卡(Jalaj Thanaki)》学习笔记:05 特征工程和NLP算法
- android调用外部导航(百度,高德)
- 剖析 SPI 在 Spring 中的应用
- 初见“Linux——通配符,命令ls,别名alias,命令du”
- require(): open_basedir restriction in effect错误解决
- 关于ionic2 app 接入支付宝支付出现ALI40247(系统繁忙,请稍后再试)
- 2022年安全员-B证考试模拟100题及在线模拟考试
- 清华计算机金融学,清华大学王牌专业排名 经济与金融专业上榜(10个)
- 深入解析:如何修复SSL / TLS握手失败错误(上)
- 2019李永乐660题 数学二-答案